图书信息管理系统设计-C语言课程设计_第1页
图书信息管理系统设计-C语言课程设计_第2页
图书信息管理系统设计-C语言课程设计_第3页
图书信息管理系统设计-C语言课程设计_第4页
图书信息管理系统设计-C语言课程设计_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

图书信息管理系统设计、【要求】图书信息囊括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。设计一图书信息管理系统,使之能提供以下功能:(1)⑵(3)⑷(5)

图书信息录入功能图书信息浏览功能图书信息查询功能图书信息的删除与修改功能、【各功能模块】1菜单模块开始图书信息 图书信息 图书信息 图书信息 图书信息 图书信息.录入

J <浏览J 「杳询/ j删除丿 <修改丿 <_洎加一」主函数流程图1》、主函数:建立menu()函数将主函数功能提取出来,主函数 main调用menu()函数方便简捷。voimain(){menu();}voimenu(){inta;oprintf("******赵毅printf("******赵毅******\n");printf("\n");printf("******printf("\n");中国地质大学******\n");printf("\n\n\n\n\n\t\t\t\t图书信息管理系统\t\t\t\t\n");printf("\t\t********************************************\n");printf("\t\t\t1---printf("\t\t\t2---printf("\t\t\t3---printf("\t\t\t4---printf("\t\t\t5---printf("\t\t\t6---printf("\t\t\t0---退出图书信息系统\n");图书信息录入\n");图书信息浏览\n");图书信息查询\n");图书信息删除\n");图书信息修改\n");图书信息追加\n");printf("\********************************printf("\t\tpleasechoose:");scanf("%",&a);switch(a){case1:input();break;case2:list();break;case3:search();break;case4:el();break;case5:revise();break;case6:appen();break;case0:exit(0);n不关于\n");}}while(a!=0);}定义图书信息结构体】#inclue<>#inclue<>#inclue<>#inclue<>voimenu();#efineN3typeefstructsystem{longnum;charname[20];charwriter[10];charsort[10];charpublisher[20];longtime;floatprice;}BOOK;注:定义的BOOK吉构体N为限制的录入图书个数(可依据不同要求变化范围)longnum为定义的登录号(长整形变量charname[20]为定义的书名的数组charwriter[10]为定义的作者的数组charsort[10]定义的分类号数组charpublisher[20]longtime定义的出版时间长整形变量floatprice价格为浮点型变量。《2》、【数据存储】整个程序没有利用保存save函数,而是利用\两个文件录入存取数据信息,并且经过文件的读取、写入进行图书信息的修改/删除等功能。(fopenfwritefrea写入及读取数据进行存储)。3》【图书信息录入】丿图书信息丿录入输入输入 输入 输入 输入 输入J出版时间丿~书名~丿I

作者名

-

-出版单位

J书的价格/开始丿输入用户要输入的录i1N调用输入函把信息存入文件关闭录入信息的文件结束」图书录入流程图【程序】voiinput()/*

定义录入函数 */{inti;BOOKFILE*fp;if((fp=fopen("","w"))==NULL){printf("error!\n");exit(0);}for(i=1;i<=N;i++){printf("\t请输入您所需书籍的登陆号:");scanf("%l",&;printf("\t请输入书名:");printf("\t请输入作者名:");scanf("%s",;printf("\tscanf("%s",;printf("\t请输入出版单位:");scanf("%s",;printf("\t请输入出版时间:");scanf("%l",&;printf("\tfwrite(&a,sizeof(BOOK),1,fp);}fclose(fp);4》【图书信息浏览】该模块的功能是显示一切录入的图书信息,流程图如下:图书浏览流程【程序】voilist()/* 定义浏览函数*/{BOOKa;FILE*fp;if((fp=fopen("",T'))==NULL){printf("error!\n");exit(0);printf("\n\n\n\n\n\n\n\n\n出版时登陆号\t书名\t作者名\t分类号\t出版单位\t\t价格\n\n");while(frea(&a,sizeof(BOOK),1,fp)!=0)printf("\t%l\t%s\t%s\t%s\t%s\t%l\t%3.2f\n",,,,fclose(fp);printf("\n\tpressanykeytocontinue...");getch();}《5》【图书信息查询】[需求分析]用户需要查找的图书,调用函数:1、按书名查找search_by_name2、按作者名查找search_by_write,两种方式进行查询。输入查询方式,进入功能选项,1、首先打开源文件,则依照输入书名进行for循环查找,若查到则显示图书信息。若无,则显示“fileopenerror!!”。按任意键结束。2、与1、流程相同,依照作者名查询。图书信息查询 --------------------->L按书名查询(1)

按作者名查询(2)(0)

EXIT查询功能流程图【程序】voisearch。/* 定义查询函数*/{inta;******************************\n");printf("开始查询\n");printf("\t\t\t---\n");

按书名查询printf("\t\t\t2------------ 按作者名查询 \n");printf("\t\t\t0 exit\n");printf("\t\t*********************\*printf("\t\t:");scanf("%",&a);switch(a)case1:search_by_name();break;case2:search_by_writer();break;case0:return;}}voisearch_by_name()/*定义按书名查询*/{FILE*fp;inti;BOOKb[N];chars2[20];fp=fopen("","r");if(fp==NULL){printf("fileopenerror!!\n");exit(0);}for(i=0;i<N&&fp!=NULL;i++)ame)==0){printf("书号书名作者种类出版商出版日期价格\n");printf("\t%l\t%s\t%s\t%s\t%s\t%l\t%3.2f\n",b[i].num,b[i].name,b[i].writer,b[i].sort,b[i].publisher,b[i].time,b[i].price);}fclose(fp);}}voisearch_by_writer()/*定义按作者名查询*/{inti;FILEBOOKb[N];chars3[20];fp=fopen("","r");if(fp==NULL){printf("fileopenerror!!\n");exit(0);}for(i=0;i<N;i++)frea(&b[i],sizeof(BOOK),1,fp);printf("请输入要查询的书的作者:");scanf("%20s",s3);for(i=0;i<N;i++)if(strcmp(s3,b[i].writer)==0){printf("书号书名作者种类出版商出版日期价格\n");printf("\t%l\t%s\t%s\t%s\t%s\t%l\t%3.2f\n",&b[i].num,b[i].b[i].writer,&b[i].sort,b[i].publisher,&b[i].time,&b[i].price);}fclose(fp);}《 6》【图书信息删除】[需求分析]该模块功能是,先输入需要删除的图登陆号,打开存储文件 for循环查找该图书信息,然后利用b[k]=b[k+1]语句进行删除,即将要删除的一列用后一列进行替换完成删除功能,最将改后的信息在写入结构体存入文件,关闭文件夹。删除功能输入登录号删除图 书 信 息 删 除 流 程【程序】voiel()/*定义删除函数*/FILE*fp;longbooknum;/*inti=0,k;BOOKb[N];if((fp=fopen("","r"))==NULL){printf("error!\n");getch();exit(0);}for(i=0;i<N;i++){frea(&b[i],sizeof(BOOK),1,fp);}fclose(fp);printf("\nPleasetypeinthenumberofthebookyouwanttoelete:");scanf("%l",&booknum);for(i=0;i<N;i++)if(booknum==b[i].num){break;}if(i<N)for(k=i;k<(N-1);k++){b[k]=b[k+1];}elseprintf("\ncannotfoun!\n");fp=fopen("","w");if(fp==NULL){printf("\nerror!\n");return;}for(i=0;i<N-1;i++){fwrite(&b[i],sizeof(BOOK),1,fp);}fclose(fp);getch();}《7》【图书信息修改】[需求分析]该模块实现依照用户需求,将需要修改的图书名输入,进行for循环查找是否有此书,若无,则显示未找到,退出,若有,则显示输入新的图书信息,开始输入修改的信息,进行for替换原文件信息,结束显示“修改成功”。【程序】voirevise()/*定义修改函数*/{inti,j,k;chars1[20];BOOKFILE*fp,*fq;if((fq=fopen("","w"))==NULL){printf("error!");exit(0);}if((fp=fopen("","r"))==NULL){printf("error!");exit(0);}for(i=0;!feof(fp)&&i<N;i++){frea(&b[i],sizeof(BOOK),1,fp);}fclose(fp);printf("\t\t欢迎进入修改界面\n");printf("\n\n\n\t\t请输入所要修改的图书名:\n");scanf("%s",s1);for(j=0;j<i;j++)if(strcmp(b[j].name,s1)==0)if(j>i||j==i){printf("未找到!");getch();exit(0);}printf("\t\t请输入新登录号图书名作者分类号出版单位出版时间价格\n");scanf("%l%s%s%s%s%l%f",&b[k].num,b[k].name,b[k].writer,b[k].sort,b[k].publisher,&b[k].time,&b[k].price);for(i=0;i<(j+1);i++){fwrite(&b[i],sizeof(BOOK),1,fq);fclose(fq);printf(" 修改成功!");if((fq=fopen("","w"))==NULL){printf("error!");exit(O);}for(i=0;!feof(fq)&&i<N;i++){fwrite(&b[i],sizeof(BOOK),1,fq);}fclose(fq);getch();}《8》【图书信息追加】[需求分析]该模块功能是用户需要增加新的图书信息,打开源存储文件,依照需要追加的个数n,进行for循环,开始录入追加的信息,流程如下:【程序】voi即pen()inti,n;

定义追加函数*/BOOKa;FILE*fp;if((fp=fopen("","a"))==NULL){printf("error!\n");exit(0);}printf("\n\n\t请输入追加图书的个数:");scanf("%",&n);for(i=0;i<n;i++){printf("\t请输入追加图书的登录号:");scanf("%l",&;printf("\t请输入追加图书的图书名:");scanf("%20s",;printf("\t请输入追加图书的作者名:");scanf("%10s",;printf("\t请输入追加图书的分类号:");scanf("%10s",;printf("\t请输入追加图书的出版单位:");scanf("%20s",;printf("\t请输入追加图书的出版时间:");scanf("%",&;printf("\t请输入追加图书的单价:");scanf("%f",&;fwrite(&a,sizeof(BOOK),1,fp);}fclose(fp);}【上机操作】1、录入函数2、编译连接、运行3、结果下面是各功能模块的界面图:(1)主菜单图书信息管理系统lB.tt-图书 息信录览图书0韦 层浏询书0图 息查除珂 息删改pleasechoose:

息修加统(2)添加模块【录入模块】P1 酣ge:.T-■■■

當您走书走

=1=1

需:1OS登号甲刀书籍 ho甲刀书.的.制 吋所4所4-Tf+LJ-*

:1=1的出容:1窈籍』144T-+_|!

聖的需者 =se彳 ]A

2壬4--IJ4T+4T标认心 口书-t 认 蚤书la, ;2-i

IA犬 的回丄4T丰-1-T——-MJ

认刀认出吹出认该

=2登:2:3;3丄」4--k

牧您口包扶最 3FI-.IJ-4.书时冋认g价JX认出JX--【浏览模块】登陆号书名

作者名 分类

出版单位

出版吋闾 价格11111113.9022222229.0033333330创pi*ese僅nykey tocontinue-.,【查询模块

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论