图书信息管理系统设计_第1页
图书信息管理系统设计_第2页
图书信息管理系统设计_第3页
图书信息管理系统设计_第4页
图书信息管理系统设计_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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#5176.182总体方案设计、详细设计实验3#5176.193编写程序,调试分析实验3#5176.204撰写报告并上交,答辩实验3#5176.21五、应收集的资料及主要参

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

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

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

7、此模块中进行选择并进而调用其他模块实现相应的功能;输入模块完成图书信息的输入功能,输入信息包括登陆号、书名、作者名、分类号、出版社、出版日期、价钱等;输出模块完成已录入图书信息的显示;查询模块完图书信息的查询,查询时对应有按书名查询和按作者名查询两种方式;修改模块完成图书信息的修改功能;删除模块完成图书信息的删除功能;按登陆号排序模块完成对信息的排序;文件保存模块完成文件的保存。3 详细设计(内容可以适当调整,清晰的有条理的把你的设计思路表达出来)3.1功能模块设计3.1.1 XX功能模块(可选)3.1.2 YY功能模块(可选)3.1.3 ZZ功能模块(可选)3.2数据结构设计(可选) 菜单选

8、择模块:(给出信息提示;绘制菜单(包含输入、显示、查询、修改、删除、退出、排序);提示菜单选择并读入到变量;根据读入变量的值调用不同的模块函数;)      信息输入模块:(打开职工信息文件;发出输入提示信息; 输入职工信息;提示是否继续输入;读入到变量;根据读入变量的值进入菜单或输入函数模块;)    信息输出模块:(输出所有图书的所有信息。)     信息查询模块:(调用switch函数; 给出信息提示;提示菜单选择并读入到变量;根据读入变量的值进入不同的case;Case 1 给出信息提示;提示菜单

9、选择并读入到变量;Strcmp函数将保存的信息与变量比较,如有相同,就输出该图书的所有信息;否则,提示出错。Case 2 给出信息提示;提示菜单选择并读入到变量;Strcmp函数将保存的信息与变量比较,如有相同,就输出该图书的所有信息;否则,提示出错。)5 信息修改模块:(给出信息提示;提示菜单选择并读入到变量;Strcmp函数将保存的信息与变量比较,如有相同,就输出该图书的所有信息,并提示输入新的图书信息;否则,提示出错。)6信息删除模块:(给出信息提示;提示菜单选择并读入到变量;Strcmp函数将保存的信息与变量比较,如有相同,就输出该图书的所有信息,并删除该图书的图书信息;否则,提示出错

10、。)7排序模块(看能不能打开程序;如能,则用冒泡法排序;输出排序后的所有信息)8 文件保存模块(看文件能不能读;否则提示出错。看文件的长度符不符合要求;否则提示出错。保存文件)4 调试分析一实现程序:首先进入如下界面: 1:input 2:output 3:save 4:search 5:xiugai 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,

11、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,1234,34”;输入2和“re“,输出“2,ew,re,2,sa,4321,43” 符合要求六 输入”5”或“6“进行修改或删除。输入修改的书名“we”显示“1,we,er,1,as,1234,34”及“please input xiugai's the informations”,后

12、输入新信息,再输入“3”保存。七输入7按登陆号排序。运行正常,输入0退出。调试过程中,问题很多比如说编写排序和文件保存函数时,对fopen函数认识不够,一开始是用if(fp=fopen("f:c","rb")=NULL)这个语句,调试的时候一直都最少都是一个错误:后来怎么弄都纠正不了。后来慢慢的查书,逐行检查。才终于改正为 if(fp=fopen("file.c","wb")=NULL)。程序终于可以运行。通过这我懂得:写程序时一定要严谨,尽可能写下的每一行不出错。否则调试时会很麻烦。5 总 结 本次课程设计是我这

13、学期编写的第一个大程序,从花费的过去三天总计十七个小时中,我得到如下收获:1 用好C语言某种程度上关键就是用好所需的各种函数的调用,c语言的确是一种结构化的语言。2 学会和加深了对于结构体和共用体的理解,以及在程序中怎样实现文件函数的输入输出和文件的定位。3 只有上机实践才能检验自己写的程序,看是看不出来的。4 深深懂得调试、书写规范和检错的重要性。5 连续三天每天六小时端坐在电脑前动都不能动,绞尽脑汁艰苦奋斗的经历告诉我:程序员这种工作,真的不是人干的.7.附录#include <stdio.h>#include <string.h>#include <stdl

14、ib.h>#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 save(void);void del(void);void search(void);voi

15、d 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) /*显示主菜单*/ char m3; int n; printf("tt1:inputn&qu

16、ot;); 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&q

17、uot;,m); n=atoi(m); return(n);void input(void) /*显示输入函数*/ int i; char m3; for(i=all;i<N;i+) all+; printf("please input informations:n"); printf("ttnum:n"); scanf("%d",&libi.num); printf("ttbook_name:n"); scanf("%s",libi.book_name); printf(&quo

18、t;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&qu

19、ot;); 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) /*显示输出函数

20、*/ int i; for(i=0;i<all;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.

21、c","wb")=NULL) printf("cannot open filen"); return; for(b=0;b<N;b+)for(i=b+1;i<N;i+)if(strcmp(libb.sort_num,libi.sort_num)<0)flash=libb;libb=libi;libi=flash;printf("the down object is:n");printf(" num book'name writer sort_num pub_company pub_time

22、 prisen");for(b=0;b<N;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_company,libb.pub_time,libb.prise);else break;void save(void) /*文件保存*/ int i;if(fp=fopen("file.c","wb")=NULL) printf(

23、"can not open the file"); exit(1); for(i=0;i<all;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 name30; printf("tt请选择按书名或作者名查询:n"); printf("tt1:书名n"); prin

24、tf("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;i<N;i+) if(strcmp(name,libi.book_name)=0) printf("tt%dn",libi.num); printf("%stt%stt%sn",libi.book_na

25、me,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 book!n"); break; case 2: printf("ttplease input the writer:n"); scanf("%s",name); flag=0; for(i=0;i<N;i+) if(strc

26、mp(name,libi.writer)=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); flag=1;break; if(flag=0) printf("ttnot find the wtiter!n"); break; void xiugai(vo

27、id) /*显示修改函数*/ int i,flag; char name30,n3; printf("ttplease input the book_name of xiugai :n"); scanf("%s",name); flag=0; for(i=0;i<N;i+) if(strcmp(name,libi.book_name)=0) printf("tt%dn",libi.num); printf("%stt%stt%sn",libi.book_name,libi.writer,libi.sort_n

28、um); printf("%stt%stt%sn",libi.pub_company,libi.pub_time,libi.prise); printf("ttplease input xiugai's the 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("ttpub_time:n"); scanf("%s"

温馨提示

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

评论

0/150

提交评论