C语言知识图书管理计划系统程序设计报告.doc
《C语言知识图书管理计划系统程序设计报告.doc》由会员分享,可在线阅读,更多相关《C语言知识图书管理计划系统程序设计报告.doc(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-+目 录一、设计任务书3二、本组课题及本人任务3三、程序功能简介4四、主体内容41设计分析42程序结构53各模块的功能及程序说明54. 源程序65操作方法.176试验结果187设计体会22五、附录231.流程图23 2.过程列表26一、设计任务书1.目的1)复习、巩固C语言的基础知识,进一步加深对C语言的理解和掌握。2)课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力。3)培养学生在项目开发中团队合作精神、创新意识及能力。2.要求:1)对系统进行功能模块分析、控制模块分析正确,符合
2、课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理。2)系统设计要实用,编程简练,可用,功能全面。3)说明书、流程图要清楚。4)记录设计情况(备查,也为编写设计说明书作好准备)。5)要求采用模块化程序设计方法,及锯齿型书写格式,要求上机调试通过和按设计报告格式。6)设计上交内容:设计报告一份(按格式书写);源程序一份,能编译成可执行文件并能正常运行。二、本组课题及本人任务课题:图书信息管理系统设计图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。试设计一图书信息管理系统,使之能提供以下功能:1.系统以菜单方式工作。2.图书信息录入功能(图书信息用文件保存
3、)输入。3.图书信息浏览功能输出。4.查询和排序功能:(至少一种查询方式)算法。a. 按书名查。b.按作者名查询。本人任务:负责设计和编写图书信息管理系统的修改图书信息部分。三、程序功能简介 本系统是以visual C+ 6.0 环境下用C语言开发的一个图书管理系统。本系统具有图书信息录入、浏览、删除、修改、查找(包括按书名、作者查找)功能。其中图书信息包括登录号、书名、作者名、分类号、出版单位、出版时间、价格,并且对信息以文件形式储存。另外本系统具备实用性的同时代码逻辑谨慎清晰易懂,且界面美观。四、主体内容1设计分析本系统共分为一个主页面模块(主函数部分),五个功能模块(功能函数)分别为图书
4、信息录入、图书信息浏览、图书信息查询、图书信息删除、图书信息修改。设计时应该先写好主函数、定义好全局变量和功能函数,再对五个功能函数进行设计。在每个功能函数和主函数应中加入控制条件使用户可以随时退出系统,并在用户输入指令错误的时候给予提醒和退出选项。小组中的五个人分别承担一个功能模块进行设计。并在每个人设计完成后通过主函数进行链接调试正确后方为完成。2程序结构(流程图)系统运行选择功能1.信息录入键入信息2.信息浏览返回主菜单返回主菜单3.信息查询按书名查找按作者查找返回主菜单输入书名输入作者信息存在?是否输出信息返回主菜单4.信息删除输入删出信息代号输出删除后的信息返回主菜单5.信息修改输入
5、修改信息代号修改信息存在?是信息修改否返回主菜单输出修改后的信息6.退出系统3各模块的功能及程序说明A、录入模块:本模块主要执行信息录入功能。B、浏览模块:本模块主要是执行把已有信息输出浏览功能。C、查询模块:本模块主要是执行按书名和按作者名查找图书信息的功能。D、删除模块:本模块主要执行删除图书信息的功能。E、修改模块(本人设计模块):本模块主要执行图书信息修改功能。在用户选择该功能后。首先,系统会弹出已存在信息列表并让用户选择所要修改的信息项目。然后,当用户选定要修改的信息后会弹出信息目录,用户需按顺序依次修改信息内容。最好当所有信息项目都修改完成之后,按回车键会在窗口上输出修改后的内容。
6、4. 源程序#include#include#include#include#define MAX 100struct Studentint num;/*登录号*/char name100;/*书名*/char author100;/*作者名*/char fn100;/*分类号*/char place100;/*出版单位*/char day100;/*出版时间*/float money;/*价格*/stuMAX;main()/*主函数*/void Input();/*输入*/void Display();/*输出*/void Find();/*查找*/void Modify();/*删除*/v
7、oid Change();/*修改*/int n; for(;)printf(n); printf(n); printf( n); printf( 欢迎来到图书信息管理系统 n); printf( n); printf( n);printf( 主菜单 n);printf( n); printf( 1.图书信息录入 n); printf( n);printf( 2.图书信息浏览 n); printf( n);printf( 3.图书信息查询 n); printf( n);printf( 4.图书信息删除 n); printf( n);printf( 5.图书信息修改 n); printf( n)
8、;printf( 6.退出系统 n); printf( n); printf(nn); printf(请输入选择项(1-6):); scanf(%d,&n); printf(nnnn); if(n0&n7)switch(n) case 1:Input();break; case 2:Display();break; case 3:Find();break; case 4:Modify();break; case 5:Change();break; case 6:printf(n); printf( n); printf( 谢谢使用! n); printf( 再见! n); printf( n)
9、; printf(n); exit(0); else printf(n); printf( n); printf( 输入错误! n); printf( 请退出! n); printf( n); printf(n); break;void Find()/*查找*/ FILE *fp;int i;int choose,t;char ans100; doprintf(1.按书名查找n);printf(2.按作者名查找n);printf(返回主菜单(其他数字)n);scanf(%d,&choose);if(choose=1)printf(输入所查书名:n);scanf(%s,ans);t=-1;if(
10、choose=1)for(i=0;iMAX;i+) if(strcmp(ans,stui.name)=0) t=i; fp=fopen(student,rb);for(i=0;fread(&stui,sizeof(struct Student),1,fp)=1;i+)printf(%d %s %s %s %s %s %fn,stut.num,stut.name,stut.author,stut.fn,stut.place,stut.day,stut.money);if(t=-1) printf(不存在该信息n);else if(choose=2)printf(输入所查作者名:n);scanf(
11、%s,ans);t=-1;if(choose=2)for(i=0;iMAX;i+)if(strcmp(ans,stui.author)=0) t=i; fp=fopen(student,rb);for(i=0;fread(&stui,sizeof(struct Student),1,fp)=1;i+) printf(%d %s %s %s %s %s %fn,stut.num,stut.name,stut.author,stut.fn,stut.place,stut.day,stut.money);if(t=-1) printf(不存在该信息n);else return;while(1);vo
12、id Display()/*输出*/FILE *fp; int i; fp=fopen(student,rb); printf(n); printf( 图书列表n); printf(-n); printf(登录号 书名 作者名 分类号 出版单位 出版时间 价格n); printf(-n); for(i=0;fread(&stui,sizeof(struct Student),1,fp)=1;i+)printf(%6d %8s %8s %8s %8s %8s %8.2fn,stui.num,stui.name,stui.author,stui.fn,stui.place,stui.day,stu
13、i.money);fclose(fp);void Input()/*输入*/FILE *fp;int n;fp=fopen(student,ab+); for(n=0;nMAX;n+)printf(n=%d 输入序号n(当输入n=-1时,返回),n=,n+); scanf(%d,&n);if(n=-1) fclose(fp);return;elseprintf(请输入登录号 书名 作者名 分类号 出版单位 出版时间 价格n);scanf(%d%s%s%s%s%s%f,&stun.num,stun.name,stun.author,stun.fn,stun.place,stun.day,&stu
14、n.money); fwrite(&stun,sizeof(struct Student),1,fp);fclose(fp);void Modify()/*删除*/FILE *fp;int i,flag,n,s,j; fp=fopen(student,rb+); rewind(fp); printf( 图书列表n); printf(-n); printf(登录号 书名 作者名 分类号 出版单位 出版时间 价格n); printf(-n); for(i=0;fread(&stui,sizeof(struct Student),1,fp)=1;i+) printf(%6d %8s %8s %8s
15、%8s %8s %8.2fn,stui.num,stui.name,stui.author,stui.fn,stui.place,stui.day,stui.money); printf(n); n=i;printf(输入待删除图书号:n);scanf(%d,&s);for(i=0,flag=1;flag∈i+)if(s=stui.num)for(j=i;jn-1;j+)stuj.num=stuj+1.num; strcpy(stuj.name,stuj+1.name); strcpy(stuj.author,stuj+1.author); strcpy(stuj.fn,stuj+1.f
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 知识 图书 管理 计划 规划 系统 程序设计 报告 讲演 呈文
限制150内