图书信息管理系统设计

上传人:沈*** 文档编号:104792016 上传时间:2022-06-11 格式:DOC 页数:17 大小:115KB
收藏 版权申诉 举报 下载
图书信息管理系统设计_第1页
第1页 / 共17页
图书信息管理系统设计_第2页
第2页 / 共17页
图书信息管理系统设计_第3页
第3页 / 共17页
资源描述:

《图书信息管理系统设计》由会员分享,可在线阅读,更多相关《图书信息管理系统设计(17页珍藏版)》请在装配图网上搜索。

1、.一、课程设计的内容将所选的题目的内容copy过来,包括功能要求等等。不记得可以看附录。字体是楷体,注意排版,不要让下一页(老师签名那页)跨页!C题目二:图书信息管理系统设计图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。试设计一图书信息管理系统,使之能提供以下功能:系统以菜单方式工作v图书信息录入功能(图书信息用文件保存)输入v图书信息浏览功能输出v查询和排序功能:(至少一种查询方式)算法vl 按书名查询l 按作者名查询图书信息的删除与修改(可选项)v 二、课程设计的要求与数据1、进一步掌握和利用C语言进行程设计的能力;2、进一步理解和运用结构化程序设计的思想和方法;

2、3、初步掌握开发一个小型实用系统的基本方法;4、学会调试一个较长程序的基本方法;5、学会利用流程图或N-S图表示算法;6、掌握书写程序设计开发文档的能力。三、课程设计应完成的工作1、编写完成相应题目的程序;2、编写课程设计报告,课程设计报告的内容应包括以下6个部分:1) 需求分析:包括设计题目、设计要求以及系统功能需求分析;2) 总体设计:包括系统总体设计框架和系统功能模块图;3) 详细设计:包括主要功能模块的算法设计思路以及对应的工作流程图;4) 调试分析过程描述:包括测试数据、测试输出结果,以及对程序调试过程中存在问题的思考(列出主要问题的出错现象、出错原因、解决方法及效果等,适当的包含结

3、果截图);5) 总结:课程设计完成了哪些功能,有没有什么扩展功能?还有哪些地方需要改进?课程设计过程中的学习体会与收获、对本次课程设计的认识以及自己的建议等内容; 6) 附录:主要源程序代码,含必要的注释。3、答辩:在实验室建立程序运行的环境,并在指导教师的监督下,独立解 决问题、运行程序和回答教师提出的问题。四、课程设计进程安排序号设计各阶段内容地点起止日期1下达任务书,说明设计要求;收集资料实验3#5172总体方案设计、详细设计实验3#5173编写程序,调试分析实验3#5174撰写报告并上交,答辩实验3#517五、应收集的资料及主要参考文献注意参考文献的格式要求,依照下面的两个的格式填写,

4、可以是网页,书,杂志, 合计最少3本(已有的两个谭老师的算2本).1 谭浩强.C程序设计(第三版)M,北京:清华大学出版社,2 谭浩强. C程序设计题解与上机指导(第三版)M,北京:清华大学出版社,发出任务书日期: 2007年 6 月 18 日 指导教师签名:计划完成日期: 2007年 6 月 22 日 基层教学单位责任人签章:主管院长签章:前面的排版注意不要使这页跨页!切记切记!目 录1 设计目的与要求页码2 总体设计页码3 详细设计页码功能模块设计页码 XX功能模块(可选) 页码 YY功能模块(可选) 页码 ZZ功能模块(可选)页码数据结构设计页码4调试分析 页码5 总结页码6 附录页码6

5、 答辩记录(正文处请留出适当空白) 页码7 指导教师意见(正文处请留出十行空白) 页码1 目的与要求正文内容采用5号宋体写.题目:图书信息管理系统设计图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。试设计一图书信息管理系统,使之能提供以下功能:系统以菜单方式工作v图书信息录入功能(图书信息用文件保存)输入v图书信息浏览功能输出v查询和排序功能:(至少一种查询方式)算法vl 按书名查询l 按作者名查询图书信息的删除与修改(可选项)v需求说明:图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等并且要求职工号不重复;录入的图书信息要求用文件形式保存,并可以

6、对其进行浏览、查询、修改、删除等基本操作;对图书信息查询应能够分别按书名及作者名两种方式进行,要求能返回所有符合条件的职工的信息;对职工信息的修改应逐个地进行,一个职工信息的更改不应影响其他的职工记录;系统应以菜单方式工作,应为用户提供清晰的使用提示,依据用户的选择来进行各种处理。 2 总体设计文件保存图书信息管理系统按作者名查询删除按书名查询按登陆号排序 菜单选择输入修改输出查询菜单选择模块完成用户命令的接收,此模块也是图书信息管理系统的入口,用户所要进行的各种操作均需在此模块中进行选择并进而调用其他模块实现相应的功能;输入模块完成图书信息的输入功能,输入信息包括登陆号、书名、作者名、分类号

7、、出版社、出版日期、价钱等;输出模块完成已录入图书信息的显示;查询模块完图书信息的查询,查询时对应有按书名查询和按作者名查询两种方式;修改模块完成图书信息的修改功能;删除模块完成图书信息的删除功能;按登陆号排序模块完成对信息的排序;文件保存模块完成文件的保存。3 详细设计(内容可以适当调整,清晰的有条理的把你的设计思路表达出来) XX功能模块(可选) YY功能模块(可选) ZZ功能模块(可选)(可选) 菜单选择模块:(给出信息提示;绘制菜单(包含输入、显示、查询、修改、删除、退出、排序);提示菜单选择并读入到变量;根据读入变量的值调用不同的模块函数;) 信息输入模块:(打开职工信息文件;发出输

8、入提示信息; 输入职工信息;提示是否继续输入;读入到变量;根据读入变量的值进入菜单或输入函数模块;) 信息输出模块:(输出所有图书的所有信息。) 信息查询模块:(调用switch函数; 给出信息提示;提示菜单选择并读入到变量;根据读入变量的值进入不同的case;Case 1 给出信息提示;提示菜单选择并读入到变量;Strcmp函数将保存的信息与变量比较,如有相同,就输出该图书的所有信息;否则,提示出错。Case 2 给出信息提示;提示菜单选择并读入到变量;Strcmp函数将保存的信息与变量比较,如有相同,就输出该图书的所有信息;否则,提示出错。)5 信息修改模块:(给出信息提示;提示菜单选择并

9、读入到变量;Strcmp函数将保存的信息与变量比较,如有相同,就输出该图书的所有信息,并提示输入新的图书信息;否则,提示出错。)6信息删除模块:(给出信息提示;提示菜单选择并读入到变量;Strcmp函数将保存的信息与变量比较,如有相同,就输出该图书的所有信息,并删除该图书的图书信息;否则,提示出错。)7排序模块(看能不能打开程序;如能,则用冒泡法排序;输出排序后的所有信息)8 文件保存模块(看文件能不能读;否则提示出错。看文件的长度符不符合要求;否则提示出错。保存文件)4 调试分析一实现程序:首先进入如下界面: 1:input 2:output 3:save 4:search 5:xiugai

10、 6:del7:sort 0:exit;二输入“1”,后按“num登陆号”, book_name书名,writer作者名,sort。name分类号,出版社pubconpany,出版时间pubtime,价钱price顺序输入两组数据:“1,we,er,1,as,1234,34”“2,ew,re,2,sa,4321,43”三输入“3”保存。四输入“2”输出数据:“1,we,er,1,as,1234,34”“2,ew,re,2,sa,4321,43”五输入“4”查找,“请选择按书名或作者名查询: 1:书名。 2作者名 “输入“1“或”2“分别查询。输入“1“和“we“,输出“1,we,er,1,as

11、,1234,34”;输入2和“re“,输出“2,ew,re,2,sa,4321,43” 符合要求六 输入”5”或“6“进行修改或删除。输入修改的书名“we”显示“1,we,er,1,as,1234,34”及“please input xiugais the informations”,后输入新信息,再输入“3”保存。七输入7按登陆号排序。运行正常,输入0退出。调试过程中,问题很多比如说编写排序和文件保存函数时,对fopen函数认识不够,一开始是用if(fp=fopen(f:c,rb)=NULL)这个语句,调试的时候一直都最少都是一个错误:后来怎么弄都纠正不了。后来慢慢的查书,逐行检查。才终于改

12、正为 if(fp=fopen(file.c,wb)=NULL)。程序终于可以运行。通过这我懂得:写程序时一定要严谨,尽可能写下的每一行不出错。否则调试时会很麻烦。5 总 结 本次课程设计是我这学期编写的第一个大程序,从花费的过去三天总计十七个小时中,我得到如下收获:1 用好C语言某种程度上关键就是用好所需的各种函数的调用,c语言的确是一种结构化的语言。2 学会和加深了对于结构体和共用体的理解,以及在程序中怎样实现文件函数的输入输出和文件的定位。3 只有上机实践才能检验自己写的程序,看是看不出来的。4 深深懂得调试、书写规范和检错的重要性。5 连续三天每天六小时端坐在电脑前动都不能动,绞尽脑汁艰

13、苦奋斗的经历告诉我:程序员这种工作,真的不是人干的.#include #include #include #define N 10struct library int num; char book_name30; char writer30; char sort_num3; char pub_company30; char pub_time30; char prise30;typedef struct library LIB;LIB libN;FILE *fp;int all=0;int menu(void);void input(void);void output(void);void sa

14、ve(void);void del(void);void search(void);void xiugai(void);void sort(void);main() for(;) switch(menu() case 1:input();break; case 2:output();break; case 3:save();break; case 4:search();break; case 5:xiugai();break; case 6:del();break;case 7:sort();break; case 0:exit(1);break; int menu(void) /*显示主菜单

15、*/ char m3; int n; printf(tt1:inputn); printf(tt2:outputn); printf(tt3:saven); printf(tt4:searchn); printf(tt5:xiugain); printf(tt6:deln); printf(tt7:sortn); printf(tt0:exitn); printf(ttplease choose a operation(0-6):n); scanf(%s,m); n=atoi(m); return(n);void input(void) /*显示输入函数*/ int i; char m3; f

16、or(i=all;iN;i+) all+; printf(please input informations:n); printf(ttnum:n); scanf(%d,&libi.num); printf(ttbook_name:n); scanf(%s,libi.book_name); printf(ttwriter:n); scanf(%s,libi.writer); printf(ttsort_num:n); scanf(%s,libi.sort_num); printf(ttpub_company:n); scanf(%s,libi.pub_company); printf(ttpu

17、b_time:n); scanf(%s,libi.pub_time); printf(ttprise:n); scanf(%s,libi.prise);a: printf(ttyes/no continue input?n); printf(tt1:yesn); printf(tt2:non); scanf(%s,m); if(atoi(m)=1) continue; else if(atoi(m)=2) return; else printf(ttinput error!n); goto a; void output(void) /*显示输出函数*/ int i; for(i=0;iall;

18、i+) printf(tt%dn,libi.num); printf(%stt%stt%sn,libi.book_name,libi.writer,libi.sort_num); printf(%stt%stt%sn,libi.pub_company,libi.pub_time,libi.prise); void sort(void)/*从登陆号从大到小排序的函数*/int b,i;struct library flash;if(fp=fopen(file.c,wb)=NULL) printf(cannot open filen); return; for(b=0;bN;b+)for(i=b+

19、1;iN;i+)if(strcmp(libb.sort_num,libi.sort_num)0)flash=libb;libb=libi;libi=flash;printf(the down object is:n);printf( num bookname writer sort_num pub_company pub_time prisen);for(b=0;bN;b+)if(libb.sort_num0!=0)printf(%d %s %s %s %s %s %sn,libb.num,libb.book_name,libb.writer,libb.sort_num,libb.pub_co

20、mpany,libb.pub_time,libb.prise);else break;void save(void) /*文件保存*/ int i;if(fp=fopen(file.c,wb)=NULL) printf(can not open the file); exit(1); for(i=0;iall;i+) if(fwrite(&libi,sizeof(LIB),1,fp)!=1) printf(can not write!); exit(1); fclose(fp);void search(void) /*书名和作者名查找*/ int i,flag; char m3; char n

21、ame30; printf(tt请选择按书名或作者名查询:n); printf(tt1:书名n); printf(tt2:作者名n); scanf(%s,m); i=atoi(m); switch(i) case 1: printf(ttplease input the book_name:n); scanf(%s,name); flag=0; for(i=0;iN;i+) if(strcmp(name,libi.book_name)=0) printf(tt%dn,libi.num); printf(%stt%stt%sn,libi.book_name,libi.writer,libi.so

22、rt_num); printf(%stt%stt%sn,libi.pub_company,libi.pub_time,libi.prise); flag=1;break; if(flag=0) printf(ttnot find the book!n); break; case 2: printf(ttplease input the writer:n); scanf(%s,name); flag=0; for(i=0;iN;i+) if(strcmp(name,libi.writer)=0) printf(tt%dn,libi.num); printf(%stt%stt%sn,libi.bo

23、ok_name,libi.writer,libi.sort_num); printf(%stt%stt%sn,libi.pub_company,libi.pub_time,libi.prise); flag=1;break; if(flag=0) printf(ttnot find the wtiter!n); break; void xiugai(void) /*显示修改函数*/ int i,flag; char name30,n3; printf(ttplease input the book_name of xiugai :n); scanf(%s,name); flag=0; for(

24、i=0;iN;i+) if(strcmp(name,libi.book_name)=0) printf(tt%dn,libi.num); printf(%stt%stt%sn,libi.book_name,libi.writer,libi.sort_num); printf(%stt%stt%sn,libi.pub_company,libi.pub_time,libi.prise); printf(ttplease input xiugais the informations:n); printf(ttnum:n); scanf(%d,&libi.num); printf(ttbook_nam

25、e:n); scanf(%s,libi.book_name); printf(ttwriter:n); scanf(%s,libi.writer); printf(ttsort_num:n); scanf(%s,libi.sort_num); printf(ttpub_company:n); scanf(%s,libi.pub_company); printf(ttpub_time:n); scanf(%s,libi.pub_time); printf(ttprise:n); scanf(%s,libi.prise); flag=1;break; if(flag=0) printf(ttnot

26、 find xiugais the book!n);void del(void) /*显示删除函数*/ int i,flag,n; char name30; printf(ttplease input the book_name of del:n); scanf(%s,name); flag=0; for(i=0;iN;i+) if(strcmp(name,libi.book_name)=0) printf(tt%dn,libi.num); printf(%stt%stt%sn,libi.book_name,libi.writer,libi.sort_num); printf(%stt%stt

27、%sn,libi.pub_company,libi.pub_time,libi.prise); libi.num=libn-1.num; strcpy(libi.book_name,libn-1.book_name); strcpy(libi.writer,libn-1.writer); strcpy(libi.sort_num,libn-1.sort_num); strcpy(libi.pub_company,libn-1.pub_company); strcpy(libi.pub_time,libn-1.pub_time); strcpy(libi.prise,libn-1.prise); n=n-1; flag=1; printf(ttdel ok!n); break; if(flag=0) printf(ttno information of the book!n);7 答辩记录序号问 题回 答123458 指导教师意见 指导教师签名:精选文档.

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!