100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 管理c语言程序设计报告 c语言程序设计报告图书管理系统

管理c语言程序设计报告 c语言程序设计报告图书管理系统

时间:2022-01-14 12:56:25

相关推荐

管理c语言程序设计报告 c语言程序设计报告图书管理系统

《c语言程序设计报告图书管理系统》由会员分享,可在线阅读,更多相关《c语言程序设计报告图书管理系统(11页珍藏版)》请在人人文库网上搜索。

1、中国地质大学本科生课程论文封面课程名称C语言课程设计教师姓名樊媛媛本科生姓名本科生学本科生专业所在院系类别:日期:课程设计评语对课程论文的评语:平时成绩:课程论文成绩:总成绩:评阅人签名:注:1、无评阅人签名成绩无效;2、必须用钢笔或圆珠笔批阅,用铅笔阅卷无效;3、如有平时成绩,必须在上面评分表中标出,并计算入总成绩目录1 课程论文题目图书管理系统2 程序设计思路根据要求,图书管理系统以文本文件存放在文件中,故需要提 供文件的输入、输出等操作;还需要保持记录以进行删除,查询, 借书,还书,退出,添加等等操作;另外还有键盘式旋转菜单以实 现功能选择模块。3功能模块图4 数据结构设计先写主函数ma。

2、in (),然后设计个功能选项,用 switch选择,然后进入不同模 块,进行不同选择,实现不同功能。每个图书信息设置一个结构体,将输入信息存删除入文件,提供查询功能,还有删除功能以及借书还书功能。每运行一功能后都返回 主界面,方便再次选择,还有设置退出模块,方便退出。5 算法设计先定义结构体数组structbooks,然后设置主界面,主界面出现6个功能选项,分别是输入sr()、借书js()、还书hs()、删除sc()、退出tc()、查询cx().各模块设计如下:输入模块sr(),先调用文件eup,对其进行读取,然后增加,再对其进行保存和调 用。其中结构体只输入tsmc图书名称,tsbh图书编。

3、号,dj单价,zz作者,然后自动生成, czzt存在状态,姓名xm,学号xh,性别xb.查询模块cx(),有选项图书编号和图书名称,然后选择,用if选择,然后用for循环查找,当输入名称与文件中的名称相同时,便显示此信息。删除模块就是在查找功能的图书后,选择删除,将strcpy将si+1的值赋给si。借出模块也是在查询的基础上,若si的存在状态为已借出,则显示已借出,无法再借,若未借出,则将si的存在状态czzt变为已借出,然后输入姓名,学号,性 别,最后显示出已借出。还书模块就是在查询的基础上,若si的存在状态为未借出,则无法归还,若借出,则将存在状态变为未借出,然后自动将姓名,学号,性别变。

4、为初始值。退出模块使flag=1,而在main就有boolflag且main中已令main=0.这样就实现了退 出功能。其中若输入超过选项值后,都会显示输入错误,请重新输入。若字符错误,程序就 直接出现错误了。6 程序代码#in clude#in clude#defineM100 structbookschartsmc12; inttsbh; floatdj; charzz12; charczzt12; charxm12; charxb12; intxh;sM;intN; boolflag; intmain() intsele; flag=0; sele=1;voidsr();voidcx()。

5、;voidsc();voidjs();voidhs();voidtc();voidjsh();smc);printf(图书编号:);scanf(%d,&sN-n-1+i.tsbh);printf( 单价: );scanf(%f,&sN-n-1+i.dj);printf( 作者: );scanf(%s,&sN-n-1+i.zz);strcpy(sN-n-1+i.czzt,未借出);strcpy(sN-n-1+i.xm, 无);查询/*voidcx()inti,j100=-1,d,k,t=0;charm20;printf( 查询: );printf(1:图书名称2:图书编号); printf(nn。

6、 请输入查询选项: );scanf(%d,&k); if(k=1)printf( 请输入图书名称 :);scanf(%s,m);for(i=0;iN;i+)if(strcmp(m,si.tsmc)=0)jt=i;t=t+1;elseif(k=2)printf( 请输入图书编号 :);scanf(%d,&d); for(i=0;iN;i+) if(d=si.tsbh)jt=i;t+;if(j0=-1&t=0) printf( 没有找到! n);if(j0!=-1&t!=0)printf(t图书名称t图书编号t单价t作者t存在状态t借书人姓名t性别t学号 n);for(i=0;it;i+)prin。

7、tf(t%st%dt%ft%st%st%st%st%d,sji.tsmc,sji.tsbh,sji.dj,sji.zz,sji.czzt,sji.xm,sji.xb,sji.xh);/*删除模块*/voidsc()inti,d,k,t=0;charms20;intja=-1;printf( 查询: );printf(1: 图书名称 2:图书编号 ); printf(nn 请输入查询选项: ); scanf(%d,&k);if(k=1)printf( 请输入图书名称 :);scanf(%s,ms); for(i=0;iN;i+) if(strcmp(ms,si.tsmc)=0)ja=i;brea。

8、k;elseif(k=2)printf( 请输入图书编号:);scanf(%d,&d);for(i=0;iN;i+) if(d=si.tsbh) ja=i;break;printf( 确定删除该图书吗?1表示Yes,其他No);intp; scanf(%d,&p); if(p=1)printf(Congratulations,删除成功 |n);if(ja!=-1&p)N=N-1;for(i=ja;iN;i+)strcpy(si.tsmc,si+1.tsmc); si.tsbh=si+1.tsbh;si.dj=si+1.dj;strcpy(si.zz,si+1.zz);strcpy(si.czz。

9、t,si+1.czzt);strcpy(si.xm,si+1.xm);strcpy(si.xb,si+1.xb);si.xh=si+1.xh;elseif(ja=-1)printf( 没有找到 !n);借书模块voidjs()inti,j100=-1,d,k,t=0; charm20;printf( 查询: );printf(1:图书名称2:图书编号); printf(nn 请输入查询选项: ); scanf(%d,&k);if(k=1)printf( 请输入图书名称 :); scanf(%s,&m);for(i=0;iN;i+) if(strcmp(m,si.tsmc)=0)jt=i;t=t。

10、+1; elseif(k=2)printf( 请输入图书编号 :); scanf(%d,&d);for(i=0;iN;i+)if(d=si.tsbh)jt=i;t+; if(j0=-1&t=0)printf(没有找到! n);strcpy(sji.czzt, 已借出 );printf( 此书已借出 n);if(j0!=-1&t!=0&sji.czzt= 未借出 ) printf(%s%d%f%s%s%s%s%d, sji.tsmc,sji.tsbh,sji.dj,sji.zz,sji.czzt,sji.xm,sji.xb,sji.xh);printf(1:确定借阅2:退出n);scanf(%d。

11、,&k); switch(k)case1:pri ntf(请输入学号:n); scanf(%d,&sji.xh);printf( 请输入姓名: n); scanf(%s,&sji.xm);printf( 请输入性别: n);scanf(%s,&sji.xb);strcpy(sji.czzt, 已借出 );printf( 已借出 ,按任意键继续 n);smc)=0)jt=i;t+; break;elseif(k=2)printf( 请输入图书编号 :);scanf(%d,&d);for(i=0;iN;i+)if(d=si.tsbh)jt=i;t+;break;if(t=0)printf(没有找到。

12、! n); else printf(%s%f%s%s%s%s%dn,sji.tsmc,sji.dj,sji.zz,sji.czzt,sji.xm,sji.xb,sji.xh); printf(1:确定归还2:退出n);intp;scanf(%d,&p);if(p=1)strcpy(sji.czzt, 未借出 );strcpy(sji.xm, 无);sji.xh=0;printf( 已归还,按任意键继续 n);/getch(); 结束模块/* voidjsh()flag=1;7程序运行结果各模块均能执行8编程中遇到的困难及解决方法做程序时,文件函数无法实现,于是找了同学跟我讲解,看书还有就是看例。

13、子 等等,最终找出了个解决方案。还有系统最初运行时有很多不尽人意的,比如我希 望每次运行后都出现主界面,这样方便选择。如果出现错误的话,要显示出错误原 因,并给出提示,我解决了几个这样的问题,比如借书时如果已借出就要显示出 “已 借出,请重新选择 ”,如果没有,就显示无法找到,并显出主菜单,再次选择。9总结心得及良好建议对于程序的设计,必须先理解 c 语言的一些知识,用起来才会得心应手,最好之前 就想好大致用什么算法去实现需要的程序。对于举一反三的内容不是用来抄的,我 们必须要先对其理解,这样才能写好一个程序。程序中最复杂的感觉是调试,有时 候自己有很多习惯性的错误真的很难找到,所有要形成好的习惯。还有就是要养成 好的思维,要多练习,不能眼高手低。10致谢。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。