收藏 分销(赏)

c语言程序设计方案报告图书标准管理系统.doc

上传人:精**** 文档编号:2956856 上传时间:2024-06-12 格式:DOC 页数:19 大小:118.54KB
下载 相关 举报
c语言程序设计方案报告图书标准管理系统.doc_第1页
第1页 / 共19页
c语言程序设计方案报告图书标准管理系统.doc_第2页
第2页 / 共19页
c语言程序设计方案报告图书标准管理系统.doc_第3页
第3页 / 共19页
c语言程序设计方案报告图书标准管理系统.doc_第4页
第4页 / 共19页
c语言程序设计方案报告图书标准管理系统.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

1、中 国 地 质 大 学本科生课程论文封面课程名称 c语 言 课 程 设 计 老师姓名 樊媛媛 本科生姓名 本科生学 本科生专业 所在院系 类别: 日期: 课程设计评语对课程论文评语:平时成绩:课程论文成绩:总 成 绩:评阅人署名:注:1、无评阅人署名成绩无效;2、必需用钢笔或圆珠笔批阅,用铅笔阅卷无效;3、如有平时成绩,必需在上面评分表中标出,并计算入总成绩。目 录课程设计评语2目 录31课程论文题目42程序设计思绪43功效模块图54数据结构设计55算法设计66程序代码137程序运行结果228编程中碰到困难及处理方法259总结心得及良好提议2610致谢261课程论文题目 图书管理系统2程序设计

2、思绪依据要求,图书管理系统以文本文件存放在文件中,故需要提供文件输入、输出等操作;还需要保持统计以进行删除,查询,借书,还书,退出,添加等等操作;另外还有键盘式旋转菜单以实现功效选择模块。3功效模块图图书管理系统数据输入查询数据添加删除还书借书 系统功效模块图4数据结构设计先写主函数main (),然后设计个功效选项,用switch选择,然后进入不一样模块,进行不一样选择,实现不一样功效。每个图书信息设置一个结构体,将输入信息存入文件,提供查询功效,还有删除功效和借书还书功效。每运行一功效后全部返回主界面,方便再次选择,还有设置退出模块,方便退出。5算法设计删除main ()sr()sc()c

3、x()js()jsh()hs()先定义结构体数组struct books,然后设置主界面,主界面出现6个功效选项,分别是输入sr()、借书js()、还书hs()、删除sc()、退出tc()、查询cx().各模块设计以下:输入模块sr(),先调用文件eup,对其进行读取,然后增加,再对其进行保留和调用。其中结构体只输入tsmc图书名称,tsbh图书编号,dj单价,zz作者, 然后自动生成,czzt存在状态,姓名xm,学号xh,性别xb.查询模块cx(),有选项图书编号和图书名称,然后选择,用if选择,然后用for循环查找,当输入名称和文件中名称相同时,便显示此信息。删除模块就是在查找功效图书后,

4、选择删除,将strcpy将si+1值赋给si。借出模块也是在查询基础上,若si存在状态为已借出,则显示已借出,无法再借,若未借出,则将si存在状态czzt变为已借出,然后输入姓名,学号,性别,最终显示出已借出。还书模块就是在查询基础上,若si存在状态为未借出,则无法归还,若借出,则将存在状态变为未借出,然后自动将姓名,学号,性别变为初始值。退出模块使flag=1,而在main就有bool flag 且main中已令main=0.这么就实现了退出功效。其中若输入超出选项值后,全部会显示输入错误,请重新输入。若字符错误,程序就直接出现错误了。6程序代码#include#include#includ

5、e#include#define M 100struct bookschar tsmc12;int tsbh;float dj;char zz12;char czzt12;char xm12;char xb12;int xh;sM;int N;bool flag;int main () int sele;flag=0;sele=1;void sr();void cx();void sc();void js();void hs();void tc();void jsh();/system (tsgl);printf(nn);printf( *n);printf( 1:输入 2:查询 3:删除 n

6、);printf( 4:借书 5:还书 0:退出 n);printf( *n);while(1)printf(nn请输入功效序号:);scanf (%d,&sele);if(sele=0 & sele=5)switch(sele)case 1:sr();break; case 2:cx();break; case 3:sc();break; case 4:js();break; case 5:hs();break; case 0:jsh();break;if(flag)break;printf(nn);printf( *n);printf( 1:输入 2:查询 3:删除 n);printf(

7、4:借书 5:还书 0:退出 n);printf( *n); elseprintf(输入错误请再次输入|nn);printf(nn);printf( *n);printf( 1:输入 2:查询 3:删除 n);printf( 4:借书 5:还书 0:退出 n);printf( *n);printf(nn让任意键继续n); /wr_file();/*主函数*/*输入*/void sr() int n,i; N=0;printf(可输入书本数:);scanf(%d,&n);N=n+N;printf(请输入相关信息:n);for(i=1;i=n;i+)printf(图书名称:);scanf(%s,s

8、N-n-1+i.tsmc);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,无);/*查询*/void cx()int i,j100=-1,d,k,t=0;char m20;printf(查询:);printf(1:图书名称 2:图书编号);printf(nn请输入查询选项:);scanf(%d,&k);if(k=1)printf(请输入

9、图书名称:);scanf(%s,m);for(i=0;iN;i+)if(strcmp(m,si.tsmc)=0)jt=i;t=t+1;else if(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+)printf(t%s t%d t%f t%s t%s t%s t%s t%d ,sji.tsm

10、c,sji.tsbh,sji.dj,sji.zz,sji.czzt,sji.xm,sji.xb,sji.xh);/*删除模块*/void sc()int i,d,k,t=0;char ms20;int ja=-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;break;else if(k=2)printf(请输入图书编号:);scanf(%d,&d)

11、;for(i=0;iN;i+)if(d=si.tsbh)ja=i;break;printf(确定删除该图书吗?1表示Yes,其它No);int p;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.czzt,si+1.czzt);strcpy(si.xm,si+1.xm);strcpy(si.x

12、b,si+1.xb);si.xh=si+1.xh;else if(ja=-1)printf (没有找到!n);/*借书模块*/void js()int i,j100=-1,d,k,t=0;char m20;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+1;else if(k=2)printf(请输入图书编号:);scanf(%d,&d);for(

13、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,&k);switch(k)case 1:printf(请输入学号:n);scanf(%d,&sji.x

14、h);printf(请输入姓名:n);scanf(%s,&sji.xm);printf(请输入性别:n);scanf(%s,&sji.xb);strcpy(sji.czzt,已借出); printf(已借出,按任意键继续n);/getch();case 2:break;/*还书模块*/void hs()int i,j100=-1,d,k,t=0;char m20;printf(查询:);printf(1:图书名称 2:图书编号);printf(nn请输入查询选项:);scanf(%d,&k);if(k=1)printf(请输入图书名称:);scanf(%s,&m);for(i=0;iN;i+)

15、if(strcmp(m,si.tsmc)=0)jt=i;t+;break;else if(k=2)printf(请输入图书编号:);scanf(%d,&d);for(i=0;iN;i+)if(d=si.tsbh)jt=i;t+;break;if(t=0)printf(没有找到!n);else printf(%s %f %s %s %s %s %d n,sji.tsmc,sji.dj,sji.zz,sji.czzt,sji.xm,sji.xb,sji.xh);printf(1:确定归还 2:退出n);int p;scanf(%d,&p);if(p=1)strcpy(sji.czzt,未借出);s

16、trcpy(sji.xm,无);sji.xh=0;printf(已归还,按任意键继续n); /getch();/*结束模块*/void jsh()flag=1;7程序运行结果各模块均能实施。8编程中碰到困难及处理方法做程序时,文件函数无法实现,于是找了同学跟我讲解,看书还有就是看例子等等,最终找出了个处理方案。还有系统最初运行时有很多不尽人意,比如我期望每次运行后全部出现主界面,这么方便选择。假如出现错误话,要显示犯错误原因,并给出提醒,我处理了多个这么问题,比如借书时假如已借出就要显示出“已借出,请重新选择”,假如没有,就显示无法找到,并显出主菜单,再次选择。9总结心得及良好提议 对于程序设计,必需先了解c语言部分知识,用起来才会得心应手,最好之前就想好大致用什么算法去实现需要程序。对于举一反三内容不是用来抄,我们必需要先对其了解,这么才能写好一个程序。程序中最复杂感觉是调试,有时候自己有很多习惯性错误真极难找到,全部要形成好习惯。还有就是要养成好思维,要多练习,不能眼高手低。10致谢

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服