语言课程设计模版_第1页
语言课程设计模版_第2页
语言课程设计模版_第3页
语言课程设计模版_第4页
语言课程设计模版_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、德州学院计算机系课程设计报告实习名称C语言课程设计设计题目 图书信息管理系统 实习时间2012.3.11 专业班级 11级计算机科学与技术 指导老师谢延红教学单位(盖章) 计算机系 小组分工情况:学号姓名分工201101005109刘昭峰代码编辑及文档编写二一二年五月二十五日目录1 设计目的12需求分析23 概要设计24 详细设计34.1 Welcome()欢迎界面34.2 list()函数44.3 entering()图书信息录入函数54.4 search()图书信息浏览函数74.5 check图书信息查询函数95使用说明145.1欢迎界面145.2目录145.3图书信息录入155.4图书信

2、息浏览175.5图书信息查询185.6退出系统196 总结207 参考文献21图书信息管理系统 1 设计目的图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段

3、。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加困难了。基于以上种种原因要建立图书管理系统,以便于对图书信息进行管理,提高图书查询浏览的效率,以及及时了

4、解各个环节中的信息变更,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性。2需求分析书籍是人类进步的阶梯,随着人类社会的发展,人类对知识的需求也不断增长。在当今社会书藉对我们的影响越来越大,繁多的图书也需要系统的管理。图书系统在生活中运用十分广泛,因此需要编写程序对图书进行管理。所需要的图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。基本要求包括:系统以菜单的方式工作,要有图书信息录入功能(图书信息用文件保存)、图书信息浏览功能、查询和排序功能(至少一种查询方式)。查询时分按书名查询和按作者名查询并需要把书籍按一定的顺序排序。3 概

5、要设计图书信息管理系统概要设计以功能图的形式呈现出来,如图1所示。图书信息管理系统包括四大方面,分别为目录、图书信息录入、图书信息浏览、图书查询和排序。其中在查询之前会按每本书的价格排序,然后再分别按书名和作者名进行查询。图书查询和排序图书浏览图书录入目录 输入 输入 排序 按作者名按书名价格出版时间出版单位分类号作者名书名4返回3查询2浏览1录入写入文件 图1系统功能图4 详细设计本系统有一个Book类,有五个函数。分别是list()目录函数,entering()图书信息录入函数,search()图书信息浏览函数,check()图书信息查询函数,check()为友元函数。4.1欢迎界面Wel

6、come欢迎界面出现在运行程序的最前面,是图书信息管理系统的欢迎界面。其中,登录号在1到30之间,登录号输入正确后才能进入目录,输入错误则返回导航界面。void Book:welcome() long id;/*登录号*/cout<<"* * *"<<endl;cout<<"* 欢迎进入图书信息管理系统 *"<<endl;cout<<"* * *"<<endl;cout<<"#请输入登录号#"<<endl;cin>

7、>id;if(id>=1&&id<=30)list();else cout<<"登录号输入错误!返回导航界面。" welcome();4.2 list()函数在List()函数中有四个选项,输入1图书信息的录入,输入2图书信息的浏览,输入3图书信息的查询和排序,输入4退出系统。此选择用一个switch控制,如果输入数字错误,会输出“编号输入错误,请重新输入,返回导航界面”的语句,这是可重新输入数字,进行选择。void Book:list()/*目录*/cout<<"#功能选项#"<<e

8、ndl;cout<<"#1:图书信息录入#"<<endl;cout<<"#输入2图书信息浏览#"<<endl; cout<<"#输入3图书信息查询和排序#"<<endl;cout<<"#输入4退出系统#"<<endl;char a;cin>>a;switch(a)case '1' : entering();break;case '2' : search();break;case

9、 '3' : check();break;case '4' : cout<<"退出系统"break;default : cout<<"编号输入错误,请重新输入,返回导航界面"4.3 entering()图书信息录入函数在entering函数中,用cout输出提示语,请输入书名,请输入作者名等。将输入数据写入文件,然后输出提示语是继续输入还是返回导航界面,定义char变量s,用if语句来判断,其中有if语句的嵌套。void Book:entering()/*图书信息录入*/ cout<<&

10、quot;#请输入书名#"<<endl;cin>>name;cout<<"#请输入作者名#"<<endl;cin>>author;cout<<"#请输入分类号#"<<endl;cin>>classify;cout<<"#请输入出版单位#"<<endl;cin>>publishers;cout<<"#请输入出版时间#"<<endl;cin>>

11、time;cout<<"#请输入价格#"<<endl;cin>>price; FILE *fp;fp=fopen("book.txt","a");fprintf(fp,"%s %s %d %s %s %fn",name,author,classify,publishers,time,price);fclose(fp);cout<<"#输入1继续输入#"<<endl;cout<<"#输入2返回导航界面#"&

12、lt;<endl;char s;cin>>s;if(s='1')entering();else if(s='2')list();elsecout<<"#输入错误,请重新输入!#"cout<<"#输入1继续输入#"<<endl;cout<<"#输入2返回导航界面#"<<endl;char s;cin>>s;if(s='1')entering();else if(s='2')list()

13、;elsecout<<"#输入错误,返回导航界面#"list();4.4 search()图书信息浏览函数在search()函数中用cout提示输出图书的书名、作者名、分类号、出版单位、出版时间、价格。并用文件输出函数将所要浏览的信息从文件中输出。输出一本书的信息后,用if语句判断是否继续浏览,其中包含一个if语句的嵌套。void Book:search()/*图书信息浏览*/int i=0;cout<<"图书信息"<<endl;FILE *fp;fp=fopen("book.txt","

14、r");while(!feof(fp)fprintf(fp,"%s %s %d %s %s %fn",name,author,classify,publishers,time,price);printf("n书名:%sn作者名:%sn 分类号 :%dn出版单位:%sn出版时间:%sn价格:%fn",name,author,classify,publishers,time,price);cout<<endl<<"*"<<endl;i+;fclose(fp);cout<<"

15、;输入1继续浏览"<<endl;cout<<"输入2返回导航界面"<<endl;char s;cin>>s;if(s='1')search();else if(s='2')list();elsecout<<"输入错误,请重新输入!"<<endl;cout<<"输入1继续浏览"<<endl; cout<<"输入2返回导航界面"<<endl; char s;

16、cin>>s; if(s='1') search(); else if(s='2') list(); else cout<<"输入错误,返回导航界面!"<<endl; list();4.5 check图书信息查询函数 在查询函数中包含排序,所以将check函数定义为友元函数。首先先定义3个变量用冒泡法将图书按价格排序,然后可进行查询。查询分为按书名查询和按作者名查询,定义char型变量s,输入s的值分别判断是按书名查询还是按作者名查询。输入1按书名查询,输入一个书名,从已录入的图书中找到所查询的图书,输出图

17、书信息。输入2按作者名查询,输入一个作者名,从已录入的图书中找到所查询的图书,输出图书信息。在信息查询时用字符串比较函数strcmpd从录入的所有书中找出所查询的书。若数字输入错误,则重新输入,输入1继续查询,输入2返回导航界面。void check()/*图书信息查询*/int i=0,j=0,k=0;Book temp,book50;FILE *fp;fp=fopen("book.txt","r");while(!feof(fp)fscanf(fp,"%s %s %d %s %s %fn",&,&

18、;booki.author,&booki.classify,&booki.publishers,&booki.time,&booki.price); i+;k=i;fclose(fp);/读文件for(i=0;i<k;i+)for(j=0;j<k-1;j+)if(bookj.price>bookj+1.price)temp=bookj;bookj=bookj+1;bookj+1=temp;for(i=0;i<k;i+)printf("n书名:%sn作者名:%sn 分类号 :%dn出版单位:%sn出版时间:%sn价格:%fn&qu

19、ot;,,booki.author,booki.classify,booki.publishers,booki.time,booki.price);cout<<"#请输入查询方式#"<<endl;cout<<"#输入1按书名查询#"<<endl;cout<<"#输入2按作者名查询#"<<endl;char s;cin>>s;if(s='1')char name120;cout<<"请输入书名:&

20、quot;cin>>name1;for(i=0;i<k;i+)if(!strcmp(name1,)printf("n书名:%sn作者名:%sn 分类号 :%dn出版单位:%sn出版时间:%sn价格:%fn",,booki.author,booki.classify,booki.publishers,booki.time,booki.price);cout<<"输入1继续查询"<<endl;cout<<"输入2返回导航界面"<<en

21、dl;char s;cin>>s;if(s='1')check();else if(s='2')temp.list();elsecout<<"选项输入错误,返回导航界面!"temp.list();else if(s='2')char author120; cout<<"请输入作者名:"cin>>author1;for(i=0;i<k;i+) if(!strcmp(author1,booki.author)printf("n书名:%sn作者名:%

22、sn 分类号 :%dn出版单位:%sn出版时间:%sn价格:%fn",,booki.author,booki.classify,booki.publishers,booki.time,booki.price);cout<<"输入1继续查询"<<endl;cout<<"输入2返回导航界面"<<endl;char s;cin>>s;if(s='1')check();else if(s='2')temp.list();elsecout<

23、;<"选项输入错误,返回导航界面!"temp.list();elsecout<<"选项输入错误,返回导航界面!"<<endl;Book a;temp.list();5使用说明5.1欢迎界面点击红色叹号开始运行,出现导航界面。如图2所示。图2欢迎界面5.2目录输入登录号,例如输入1,注意登录号在130之间。然后出现目录。如图3所示。图3目录5.3图书信息录入输入1进入图书信息的录入。如图4所示。图4图书录入依次分别输入书名、作者名、分类号、出版单位、出版时间、价格。如图5所示。图5输入图书信息 按回车,继续选择。如图6所示。图6再次输入一本图书的信息第二次输入完毕后,输入2,返回导航界面。如图7所示。图7返回导航界面5.4图书信息浏览输入2进入图书信息浏览。如图8所示。图8图书信息浏览输入2,返回导航

温馨提示

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

评论

0/150

提交评论