您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > c语言程序设计报告-图书管理系统
1中国地质大学本科生课程论文封面课程名称c语言课程设计教师姓名樊媛媛本科生姓名本科生学本科生专业所在院系类别:日期:课程设计评语2对课程论文的评语:平时成绩:课程论文成绩:总成绩:评阅人签名:注:1、无评阅人签名成绩无效;2、必须用钢笔或圆珠笔批阅,用铅笔阅卷无效;3、如有平时成绩,必须在上面评分表中标出,并计算入总成绩。目录3课程设计评语......................................................................................................................................1目录....................................................................................................................................................21.课程论文题目................................................................................................................................32.程序设计思路................................................................................................................................33.功能模块图....................................................................................................................................44.数据结构设计................................................................................................................................45.算法设计........................................................................................................................................46.程序代码........................................................................................................................................57.程序运行结果..............................................................................................................................118.编程中遇到的困难及解决方法..................................................................................................149.总结心得及良好建议..................................................................................................................1510.致谢............................................................................................................................................151.课程论文题目图书管理系统2.程序设计思路4根据要求,图书管理系统以文本文件存放在文件中,故需要提供文件的输入、输出等操作;还需要保持记录以进行删除,查询,借书,还书,退出,添加等等操作;另外还有键盘式旋转菜单以实现功能选择模块。3.功能模块图系统功能模块图4.数据结构设计先写主函数main(),然后设计个功能选项,用switch选择,然后进入不同模块,进行不同选择,实现不同功能。每个图书信息设置一个结构体,将输入信息存入文件,提供查询功能,还有删除功能以及借书还书功能。每运行一功能后都返回主界面,方便再次选择,还有设置退出模块,方便退出。5.算法设计图书管理系统数据输入查询数据添加删除还书借书5先定义结构体数组structbooks,然后设置主界面,主界面出现6个功能选项,分别是输入sr()、借书js()、还书hs()、删除sc()、退出tc()、查询cx().各模块设计如下:输入模块sr(),先调用文件eup,对其进行读取,然后增加,再对其进行保存和调用。其中结构体只输入tsmc图书名称,tsbh图书编号,dj单价,zz作者,然后自动生成,czzt存在状态,姓名xm,学号xh,性别xb.查询模块cx(),有选项图书编号和图书名称,然后选择,用if选择,然后用for循环查找,当输入名称与文件中的名称相同时,便显示此信息。删除模块就是在查找功能的图书后,选择删除,将strcpy将s[i+1]的值赋给s[i]。借出模块也是在查询的基础上,若s[i]的存在状态为已借出,则显示已借出,无法再借,若未借出,则将s[i]的存在状态czzt变为已借出,然后输入姓名,学号,性别,最后显示出已借出。还书模块就是在查询的基础上,若s[i]的存在状态为未借出,则无法归还,若借出,则将存在状态变为未借出,然后自动将姓名,学号,性别变为初始值。退出模块使flag=1,而在main就有boolflag且main中已令main=0.这样就实现了退出功能。其中若输入超过选项值后,都会显示输入错误,请重新输入。若字符错误,程序就直接出现错误了。6.程序代码#includestdio.h#includewindows.h#includestring.h#includeconio.h#defineM100structbooks{chartsmc[12];inttsbh;floatdj;charzz[12];charczzt[12];charxm[12];main()sr()sc()cx()js()jsh()hs()删除6charxb[12];intxh;}s[M];intN;boolflag;intmain(){intsele;flag=0;sele=1;voidsr();voidcx();voidsc();voidjs();voidhs();voidtc();voidjsh();//system(tsgl);printf(\n\n);printf(************************\n);printf(1:输入2:查询3:删除\n);printf(4:借书5:还书0:退出\n);printf(************************\n);while(1){printf(\n\n请输入功能序号:);scanf(%d,&sele);if(sele=0&&sele=5){switch(sele){case1:sr();break;case2:cx();break;case3:sc();break;case4:js();break;case5:hs();break;case0:jsh();break;}if(flag)break;printf(\n\n);printf(************************\n);printf(1:输入2:查询3:删除\n);printf(4:借书5:还书0:退出\n);printf(************************\n);}else{printf(输入错误请再次输入|\n\n);printf(\n\n);7printf(************************\n);printf(1:输入2:查询3:删除\n);printf(4:借书5:还书0:退出\n);printf(************************\n);}printf(\n\n让任意键继续\n);}//wr_file();}/******主函数***//*********输入*********/voidsr(){intn,i;N=0;printf(可输入的书本数:);scanf(%d,&n);N=n+N;printf(请输入相关信息:\n);for(i=1;i=n;i++){printf(图书名称:);scanf(%s,s[N-n-1+i].tsmc);printf(图书编号:);scanf(%d,&s[N-n-1+i].tsbh);printf(单价:);scanf(%f,&s[N-n-1+i].dj);printf(作者:);scanf(%s,&s[N-n-1+i].zz);strcpy(s[N-n-1+i].czzt,未借出);strcpy(s[N-n-1+i].xm,无);}}/********查询**********/voidcx(){inti,j[100]={-1},d,k,t=0;charm[20];printf(查询:);printf(1:图书名称2:图书编号);printf(\n\n请输入查询选项:);scanf(%d,&k);if(k==1){printf(请输入图书名称:);8scanf(%s,m);for(i=0;iN;i++)if(strcmp(m,s[i].tsmc)==0){j[t]=i;t=t+1;}}elseif(k==2){printf(请输入图书编号:);scanf(%d,&d);for(i=0;iN;i++)if(d==s[i].tsbh){j[t]=i;t++;}}if(j[0]==-1&&t==0)printf(没有找到!\n);if(j[0]!=-1&&t!=0){printf(\t图书名称\t图书编号\t单价\t作者\t存在状态\t借书人姓名\t性别\t学号\n);for(i=0;it;i++)printf(\t%s\t%d\t%f\t%s\t%s\t%s\t%s\t%d,s[j[i]].tsmc,s[j[i]].tsbh,s[j[i]].dj,s[j[i]].zz,s[j[i]].czzt,s[j[i]].xm,s[j[i]].xb,s[j[i]].xh);}}/********删除模块*********/voidsc(){inti,d,k,t=0;charms[20];intja=-1;printf(查询:);printf(1:图书名称2:图书编号);printf(\n\n请输入查询选项:);scanf(%d,&k);if(k==1){printf(请输入图书名称:);scanf(%s,ms);for(i=0;iN;i++)if(strcmp(ms,s[i].tsmc)==0){ja=i;break;}}elseif(k==2){9printf(请输入图书编号:);scanf(%d,&d);for(i=0;iN;i++)if(d==s[i].tsbh){ja=i;break;}}printf(确定删除该图书吗?1表示Yes,其他No);intp;scanf(%d,&p);if(p==1)printf(Congratulations,删
本文标题:c语言程序设计报告-图书管理系统
链接地址:https://www.777doc.com/doc-5696780 .html