




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京理工大学珠海学院课程设计说明书_2012_2013_学年第_2_学期题目: 图书管理程序 学 院: 专业班级: 学 号: 学生姓名: 指导教师: 成 绩: 时 间: 2013年 6月 18日北京理工大学珠海学院课程设计任务书 2012 2013 学年第 2 学期学生姓名: 专业班级: 指导教师: 工作部门: 一、课程设计题目图书管理程序二、课程设计内容l 使用文本命令行界面l 用文件保存图书馆里的图书信息。l 能实现图书信息的增、删、改、查等功能。三、进度安排(1)1-2学时,选定题目、分析需求、理解需求;(2)3-4学时,程序设计,定义数据类型、数据处理方式;(3)5-10学时,编写程序、调试、测试;(4)11-12学时,编写设计报告;(5)13-16学时,答辩。四、基本要求(1)使用C+语言,源程序要有适当的注释,使程序容易阅读(2)学生可自动增加新功能模块(视情况可另外加分)(3)要求:建立文件操作类、界面显示类及相关接口类,用文件读写实现(5)写出课程设计报告,应不少于3000字(不含附录),同一组学生只需提交1份,但必须在报告中列明分工。 课程负责人签名: 2013年 6 月 18 日课程设计成绩评定表姓 名成绩评定权重总分总成绩(五分制)平时成绩20报告成绩50答辩成绩30目 录第一章设计内容1第二章总体设计22.1模块化设计22.2程序运行示意图3第三章详细设计43.1数据结构设计43.2程序模块设计93.3流程图10第四章调试与测试134.1调试过程中的主要问题134.2 测试结果13参考文献18心得体会19第一章 设计内容设计一个文本命令行界面的图书管理程序,登录系统,进行自助操作。程序具体功能有:(1) 创建书库:重新创建一个书库并输入新的图书信息保存到文件。(2) 图书借出:在文件里找出相应的图书并删除再保存到文件。(3) 图书归还:在文件里添加相应的图书并保存到文件。(4) 更改图书信息:在文件中找到相应的图书并修改保存到文件。(5) 打印图书信息:打印出图书库的所有图书。(6) 查询借还记录:打印出创建图书以来的图书借还记录。第二章总体设计2.1模块化设计为实现系统功能,本程序主要分为七个模块。它们分别为:登陆页面、创建书库、借书、还书、更改图书信息、查询图书信息、查询记录。这七个函数再通过主函数调用分别得以实现。主函数,首先提供了程序登录时的主界面,有让客户选择的菜单。然后,通过执行多分支选择语句switch语句,分别实现其它各个函数的调用功能。其它各个函数的功能分别如下:int menu();/功能菜单b *creat();/创建图书int add();/添加图书int save(b *p);/保存文件void bprint();/打印文件b *change(b *head);/修改信息b *load(b *head);/导入文件b *del(b *head);/删除图书void print(b *head);/打印链表void nprint(); /查看记录2.2程序运行示意图 用户登陆主菜单选择操作序号1,创建书库3,借出,存款2,归还图书5,查看书库4.修改返回主菜单退出系统图2-1 程序运行示意图第三章详细函数代码void delay()/延时函数int i;for(i=0;i300000000;i+);int menu()/功能表int a;cout|*图书管理系统* |endlendl;cout|-|endl;cout| 1.新建书库 |endl;cout| 2.图书归还 |endl;cout| 3.图书借出 |endl;cout| 4.信息修改 |endl;cout| 5.查看书库 |endl;cout| 6.查看记录 |endl;cout| |endl;cout| 0.退出系统 |endl;coutendl;couta;system(cls);return a;b *load(b *head)/导入文件内容b *p1,*p2;int m=0;FILE *fp;if(fp=fopen(f2.txt,r)=NULL)cout不能打开文件!n;return 0;head=NULL;p1=p2=(b *)malloc(len);cout以下为图书信息:endl;coutnum,&p1-name,&p1-news);coutnumtnametnewsnext=p1;p2=p1;p1=(b *)malloc(len);p2-next=NULL;fclose(fp);n=m;delay();return (head);int save(b *p1)/将链表存为文件FILE *fp;if(fp=fopen(f2.txt,w+)=NULL)coutnum,p1-name,p1-news);p1=p1-next;fclose(fp);coutnnn文件已经保存!n;delay();system(cls);return 0;int saveborrow(int a,char *b,char *c)/保存借出记录FILE *fp;if(fp=fopen(f1.txt,a+)=NULL)cout不能打开文件!n;return 0;fprintf(fp,借出图书tt);fprintf(fp,%dt%st%sn,a,b,c);fclose(fp);system(cls);return 0;int savereturn(int a,char *b,char *c)/保存借出记录FILE *fp;if(fp=fopen(f1.txt,a+)=NULL)cout不能打开文件!n;return 0;fprintf(fp,归还图书tt);fprintf(fp,%dt%st%sn,a,b,c);fclose(fp);system(cls);return 0;int newnote()FILE *fp;if(fp=fopen(f1.txt,w)=NULL)cout不能打开文件!n;return 0;fclose(fp);return 0;b *creat()/创建图书库b *head;b *p1,*p2,*p3;char ch;head=NULL;n=0;p1=p2=p3=(b *)malloc(len);newnote();docout输入图书资料n;coutp1-num;coutp1-name;coutp1-news;n+;if(n=1)head=p1;elsep2-next=p1;p2=p1;p1=(b *)malloc(len);system(cls);coutnnn继续?(y|n)ch;system(cls);while(ch=y|ch=Y);p2-next=NULL;save(head);system(cls);return (head);int add()/在文件尾添加图书信息char ch;char bookname20,booknews100;int booknum;FILE *fp;if(fp=fopen(f2.txt,a+)=NULL)cout不能打开文件!n;return 0;docout输入归还图书资料n;coutbooknum;coutbookname;coutbooknews;savereturn(booknum,bookname,booknews);/归还图书保存文件coutnnn继续?(y|n)ch;fprintf(fp,%dt%st%sn,booknum,bookname,booknews);coutnnn文件已经保存!n;delay();system(cls);while(ch=y|ch=Y);fclose(fp);system(cls);return 0;void nprint()/打印记录内容int t=0;FILE *fp; fp=fopen(f1.txt,r);char ch;cout类型ttt编号t书名t备注n;while(ch=fgetc(fp)!=EOF)coutch;fclose(fp);system(pause);system(cls);void bprint()/打印文件内容int t=0,i;FILE *fp; fp=fopen(f2.txt,r);int str0;char str1100,str2100,ch;while(ch=fgetc(fp)!=EOF)if(ch=n)t+;fclose(fp);ifstream fin(f2.txt,ios:in);cout编号t书名t备注n;for(i=0;istr0str1str2;coutstr0tstr1tstr2endl;system(pause);system(cls);fin.close();b *del(b *head)/删除图书b *p1,*p2;int number=1;head=load(head);/导入文件cout输入要借出的图书的编号(输入0时退出):number;while(number!=0)if(head=NULL)cout没有任何图书资料!num&p1-next!=NULL)p2=p1;p1=p1-next;if(number=p1-num)saveborrow(p1-num,p1-name,p1-news);/借出图书保存文件if(p1=head)head=p1-next;elsep2-next=p1-next;elsecout不存在这本书endl;delay();coutnnn图书已取出endl;delay();system(cls);save(head);/保存文件head=load(head);/导入文件cout输入要借出的图书的编号(输入0时退出):number; return head;b *change(b *head)/修改图书信息char s120,s2100;b *p1,*p2;int number,s;head=load(head);/导入文件cout输入要修改的图书的编号(输入0时退出):number;while(number!=0)if(head=NULL)cout没有任何图书资料!num&p1-next!=NULL)p2=p1;p1=p1-next;if(number=p1-num)cout编号t书名t备注n;coutnumtnametnewsendl;cout输入更改的图书资料n;couts1;couts2;couts;strcpy(p1-name,s1);strcpy(p1-news,s2);p1-num=s;coutnnn已修改编号number的图书endl;elsecout不存在这本书endl;cout输入要修改的图书的编号(输入0时退出):number;save(head);/保存到文件 return head;/主函数/int main()b *head=0,*stu=0;int k;while(1)system(cls);k=menu();switch(k)case 1: head=creat();break;case 2: add();break;case 3: head=del(head);break;case 4: head=change(head);break;c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中考素材关于希望的作文(10篇)
- 一份微笑一份希望作文250字150字(10篇)
- 线下推广活动场地租赁安全协议专业
- 喜洋洋与灰太狼之穿越时空450字(9篇)
- 修辞手法鉴赏古诗文经典句子教学教案
- 公交公司微笑活动方案
- 公交车读书日活动方案
- 公共文化进宗祠活动方案
- 公关创业活动方案
- 公务文书活动方案
- 转让幼儿园经营权协议书
- 2025履约保证金合同
- 2024全国初中数学竞赛试题及答案
- 人教版小学数学三年级下册《我们的校园》示范课教学课件
- 空调服务技术保障及人员培训方案
- 纤维绳索断裂机理研究-洞察分析
- 医院导医服务礼仪
- 《污水处理过程》课件
- 江苏省2024-2025年跨地区职业学校职教高考一轮联考(机械专业综合理论试卷含答案)
- 肿瘤患者心理护理与社会支持课件
- 《平衡计分卡在烟草公司绩效管理中的应用研究》
评论
0/150
提交评论