c语言程序设计报告 图书管理系统
更新时间:2024-06-22 22:06:01 阅读量: 综合文库 文档下载
- c语言程序设计报告模板推荐度:
- 相关推荐
中 国 地 质 大 学 本科生课程论文封面
课程名称 c语 言 课 程 设 计 教师姓名 樊媛媛 本科生姓名 本科生学 本科生专业
所在院系
类别: 日期:
课程设计评语
1
对课程论文的评语:
平时成绩: 总 成 绩:
课程论文成绩: 评阅人签名: 注:1、无评阅人签名成绩无效;
2、必须用钢笔或圆珠笔批阅,用铅笔阅卷无效;
3、如有平时成绩,必须在上面评分表中标出,并计算入总成绩。
目 录
2
课程设计评语 ...................................................................................................................................... 1 目 录.................................................................................................................................................... 2 1.课程论文题目 ................................................................................................................................ 3 2.程序设计思路 ................................................................................................................................ 3 3.功能模块图 .................................................................................................................................... 4 4.数据结构设计 ................................................................................................................................ 4 5.算法设计 ........................................................................................................................................ 4 6.程序代码 ........................................................................................................................................ 5 7.程序运行结果 .............................................................................................................................. 11 8.编程中遇到的困难及解决方法 .................................................................................................. 14 9.总结心得及良好建议 .................................................................................................................. 15 10.致谢 ............................................................................................................................................ 15
1.课程论文题目
图书管理系统
2.程序设计思路
3
根据要求,图书管理系统以文本文件存放在文件中,故需要提供文件的输入、输出等操作;还需要保持记录以进行删除,查询,借书,还书,退出,添加等等操作;另外还有键盘式旋转菜单以实现功能选择模块。
3.功能模块图
图书管理系统 数据输入 数据添加 系统功能模块图
查询 删除 借书 还书
4.数据结构设计
先写主函数main (),然后设计个功能选项,用switch选择,然后进入不同模块,进行不同选择,实现不同功能。每个图书信息设置一个结构体,将输入信息存入文件,提供查询功能,还有删除功能以及借书还书功能。每运行一功能后都返回主界面,方便再次选择,还有设置退出模块,方便退出。
5.算法设计
4
main () sr() cx() 先定义结构体数组struct books,然后设置主界面,主界面出现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就有bool flag 且main中已令main=0.这样就实现了退出功能。
其中若输入超过选项值后,都会显示输入错误,请重新输入。若字符错误,程序就直接出现错误了。
sc() js() hs() jsh()
6.程序代码
#include
5
char xb[12]; int xh; }s[M]; 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 (\ printf(\ printf(\ ************************\\n\ printf(\ 1:输入 2:查询 3:删除 \\n\ printf(\ 4:借书 5:还书 0:退出 \\n\ printf(\ ************************\\n\ while(1) { printf(\请输入功能序号:\ scanf (\ 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(\ printf(\ ************************\\n\ printf(\ 1:输入 2:查询 3:删除 \\n\ printf(\ 4:借书 5:还书 0:退出 \\n\ printf(\ ************************\\n\ } else { printf(\输入错误请再次输入|\\n\\n\ printf(\
6
printf(\ ************************\\n\ printf(\ 1:输入 2:查询 3:删除 \\n\ printf(\ 4:借书 5:还书 0:退出 \\n\ printf(\ ************************\\n\ } printf(\让任意键继续\\n\ }
//wr_file(); }
/******主函数***/
/*********输入*********/ void sr() {
int n,i; N=0; printf(\可输入的书本数:\ scanf(\ N=n+N; printf(\请输入相关信息:\\n\ for(i=1;i<=n;i++) { printf(\图书名称:\ scanf(\ printf(\图书编号:\ scanf(\ printf(\单价:\ scanf(\ printf(\作者:\ scanf(\ strcpy(s[N-n-1+i].czzt,\未借出\ strcpy(s[N-n-1+i].xm,\无\ } }
/********查询**********/ void cx() { int i,j[100]={-1},d,k,t=0; char m[20]; printf(\查询:\ printf(\图书名称 printf(\请输入查询选项:\ scanf(\ if(k==1) { printf(\请输入图书名称:\
2:图书编号\7
scanf(\ for(i=0;i /********删除模块*********/ void sc() { int i,d,k,t=0; char ms[20]; int ja=-1; printf(\查询:\ printf(\图书名称 2:图书编号\ printf(\请输入查询选项:\ scanf(\ if(k==1) { printf(\请输入图书名称:\ scanf(\ for(i=0;i 8 printf(\请输入图书编号:\ scanf(\ for(i=0;i /**********借书模块***********/ void js() { int i,j[100]={-1},d,k,t=0; char m[20]; printf(\查询:\ printf(\图书名称 printf(\请输入查询选项:\ scanf(\ if(k==1) { printf(\请输入图书名称:\ scanf(\ for(i=0;i 2:图书编号\9 else if(k==2) { printf(\请输入图书编号:\ scanf(\ for(i=0;i printf(\已借出,按任意键继续\\n\ //getch(); case 2:break; } } /*************还书模块***************/ void hs() { int i,j[100]={-1},d,k,t=0; char m[20]; printf(\查询:\ printf(\图书名称 2:图书编号\ printf(\请输入查询选项:\ scanf(\ if(k==1) { printf(\请输入图书名称:\ scanf(\ for(i=0;i 10 { j[t]=i; t++; break; } } else if(k==2) { printf(\请输入图书编号:\ scanf(\ for(i=0;i /*************结束模块***************/ void jsh() { flag=1; } 7.程序运行结果 11 12 13 各模块均能执行。 8.编程中遇到的困难及解决方法 14 做程序时,文件函数无法实现,于是找了同学跟我讲解,看书还有就是看例子等等,最终找出了个解决方案。还有系统最初运行时有很多不尽人意的,比如我希望每次运行后都出现主界面,这样方便选择。如果出现错误的话,要显示出错误原因,并给出提示,我解决了几个这样的问题,比如借书时如果已借出就要显示出“已借出,请重新选择”,如果没有,就显示无法找到,并显出主菜单,再次选择。 9.总结心得及良好建议 对于程序的设计,必须先理解c语言的一些知识,用起来才会得心应手,最好之前就想好大致用什么算法去实现需要的程序。对于举一反三的内容不是用来抄的,我们必须要先对其理解,这样才能写好一个程序。程序中最复杂的感觉是调试,有时候自己有很多习惯性的错误真的很难找到,所有要形成好的习惯。还有就是要养成好的思维,要多练习,不能眼高手低。 10.致谢 15
正在阅读:
c语言程序设计报告 图书管理系统06-22
北京市高一上学期期中考试数学试卷含答案05-05
管理学期末复习题09-30
小学生班主任工作论文05-12
离散型随机变量的均值与方差、正态分布11-12
初中下学期八年级的,21 22练习07-01
2019清明节主题活动方案03-23
通信工程师职称考试题04-12
高中数学 - 常用公式及常用结论大全09-19
怎样才能控制好情绪02-21
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 程序设计
- 管理系统
- 语言
- 报告
- 图书