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

下载本文档

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

文档简介

1、安徽电子信息职业技术学院C语言程序设计课程设计报告书题目:图书信息管理系统姓名:巩福建专业:应用电子技术班级:电子094 学号: 090305416 设计成绩:指导教师:蔡骏设计完成日期 2010年 12月 17日摘要二十一世纪是信息的社会,信息作为社会最主要的资源,将成为战略资源引起人们广泛的关注。如何获取信息?图书是我们最好的获取信息的方式,但由于图书馆图书收藏量大大增加,使传统的图书管理员的工作日益繁重起来。迫使人们起用新的管理方法来管理图书,如何把图书管理员从繁重的工作中解脱出来呢?科学技术日新月异的进步,让人类生活发生了巨大的变化,计算机技术的飞速发展,使各行各业在计算机技术应用方面

2、得到了广泛的普及和使用。信息化时代的到来成为不可抗拒的潮流,人类文明正在进入一个崭新的时代。因此,图书管理系统也以方便、快捷、费用低的优点正慢慢地进入人们的生活,将传统的图书管理方式彻底的解脱出来,提高效率,减轻工人人员以往繁忙的工作,减小出错的概率,使读者可以花更多的时间在选择书和看书上。从而使人们有更多时间来获取信息、了解信息、掌握信息。【关键词】图书管理;系统工程;信息管理系统;VC+目录一、 绪言4(一) 设计任务 4(二) 设计思路 4二、 系统设计 5(一) 总体设计 5(二) 流程图设计 5(三) 源程序设计 7三、 系统调试12(一) 系统调试 12(二) 调试过程存在问题与解

3、决办法 15总结16参考文献17一、绪言编程实践是学习C语言程序设计的一重要环节,上机实习和课程设计是提高同学们程序设计能力的有效途径,能够使同学们初步掌握程序设计的基本方法和调试技能。学校安排上机时间有限,老师也只能教给我们一些方法,而我们自己需要投入很大的时间和精力来锻炼。一、设计任务1、题目:设计“图书信息管理系统”2、设计要求:图书信息包括:编号,书名,作者名,出版时间,价格等。使之提供以下功能:(1) 系统以菜单方式工作。(2) 图书信息浏览功能。(3) 图书信息查询功能。二、设计思路1、设计方法:根据题目要求,可以将系统分为四个模块:(1) 管理员登录系统模块。(2) 菜单选择模块

4、。(3) 图书信息浏览功能。(4) 图书信息查询功能。2、设计方案分析:根据题目要求,应当把图书信息用结构体形式输入,在程序中需事先将图书信息保存在结构体中,浏览,查询等功能的操作,所以需要建立相应的模块来实现;另外还需提供键盘式选择菜单实现功能,在运行时达到所要目的。二、系统设计一、总体设计根据题目要求,可以将系统分为六个模块:1) 管理员登录系统模块;2) 菜单选择模块;3) 增加图书模块;4) 删除图书模块;5) 按编号查询图书功能模块;6) 按书名查询图书功模块;7) 浏览图书模块。管理员登录系统模块菜单选择模块图书信息管理系统增加图书模块删除图书模块浏览图书模块按编号查找图书模块按书

5、名查找图书模块图2-1 系统组成框图二、流程图设计1、算法分析S1:输入密码并判断是否正确。S2:若密码正确转到S3,若不正确,转到S1继续输入,若三次输入错误,转到S10。S3:选择服务类型15若输入为0,转到S10,若为1转到S4,若为2转到S5,若为3转到S6,若为4转到S7,若为5转到S8,若为其它的转到S9。S4:增加图书模块。S5: 删除图书模块。S6:按编号查找模块。S7:按书名查找模块。S8:浏览图书模块。S9:判断数据是否溢出,如果溢出则打印“输入有误,请重新输入”。S10:退出程序。开始输入管理员密码输入正确与否结束N3次输入错误是否继续功能选择模块增加图书模块删除图书模块

6、按编号查找图书模块按书名查找图书模块浏览图书模块是否继续是否继续是否继续是否继续否否否否否是是是是是是退出2、流程图设计图2-2 全部函数流程图三 源程序设计1、头函数源程序:# include <stdio.h># include <string.h>#include <conio.h>#include<windows.h># define N 1000int M=10;struct information char book_number10,book_name15,writter10; char pubnish_time15; float

7、price;bookN="999999","C Program","A","2005-8",19.00,"000000","Mathes","B","2003-1",21.00,"111111","Harry","Prince","1999-9",18.00,"222222","Physics","Princ

8、e","2000-4",19.00,"333333","Biology","D","2004-2",21.00, "444444","White Snow","Old","1998-7",14.00,"555555","Lion","Prince","2001-2",17.00,"666666","

9、English","-","1864-2",19.00,"777777","The Woods","Prince","2001-3",22.00,"888888","KuangRenRiJi","LuXun","1948-2",23.00;2、管理员登录系统模块:/*-*主函数*-*/void main()char s10;int i,k;printf("nnnt*nnnn&q

10、uot;);printf(" 欢迎使用 n"); printf(" 图书信息管理系统 n");printf("nnnt*nnnn");for(i=0;)for(k=0;)printf("t 请输入密码:"); gets(s);if(strcmp(s,"g")!=0) printf("t口令错误,按任意键继续n");else break;getch();i+;if(i=3) exit(0); printf("Logging.n欢迎使用图书管理系统n"); m

11、enu();break;3、功能菜单页面:/*-*目 录*-*/void menu()int flag=1;int choose; void add(); void dele();void booknumberlookup();void booknamelookup(); void lookup();printf("nnnn"); printf("-目 录-n");printf(" n");printf(" n");printf(" 1、增加图书 n");printf(" 2、删除图书

12、 n");printf(" 3、按编号查找 n");printf(" 4、按书名查找 n");printf(" 5、浏览图书 n"); printf(" 0、退出 n");printf(" n");printf("-欢 迎 使 用-nnnnnn"); printf("请选择服务类型:");scanf("%d",&choose);switch(choose)case 1:add();break; case 2:dele(

13、);break;case 3:booknumberlookup();break;case 4:booknamelookup();break;case 5:lookup();break; case 0:printf("nnn");printf("谢谢使用"); printf("nnnn");exit(0); default:printf("nnnnnnntt输入有误,请重新输入!");menu();3、增加图书模块/*-*增加图书*-*/ void add() /*自定义函数*/ int i,flag=1; char

14、 k; printf(" nnnnnntttt*增*加*图*书* nnnnnnnn");while(flag)printf("nn请输入图书信息:n");getchar(); printf("t 编号:");gets(bookM.book_number); printf("t书名:");gets(bookM.book_name); printf("t作者:");gets(bookM.writter); printf("t出版日期:");gets(bookM.pubnish_t

15、ime); printf("t价格:");scanf("%f",&bookM.price); M+; printf("编号t 书名tt 作者 t 出版日期 tt 价格n"); for(i=0;i<M;i+)printf("%-10s%-20s%-15s%-10stt%fn",booki.book_number,booki.book_name,booki.writter,booki.pubnish_time,booki.price); printf("是否继续(Y/N)?:"); g

16、etchar(); scanf("%c",&k); if(k='n'|k='N') flag=0; menu();4、删除图书模块/*-*删除图书*-*/void dele()int i,j,flag=1;char num10,c;printf(" nnttt删除图书!n");while(flag) printf("nn请输入编号:"); scanf("%s",num); for(i=0;i<M;i+) if (strcmp(booki.book_number,num)

17、=0) /*比较num和book_number中的数是否有相同的*/ for(j=i;j<M;j+) bookj=bookj+1; printf("删除!n"); M-; break; if (i=M) printf("错误输入!n"); printf("是否继续(Y/N)?:"); getchar(); scanf("%c",&c); if (c='n'|c='N') flag=0;menu();5、按编号查找模块:/*-*按编号查找*-*/void booknumb

18、erlookup()int i,k,flag=1;char num10;char m;printf(" nntttt按编号查找n"); while(flag) printf("请输入编号:"); scanf("%s",num); k=0; for(i=0;i<M;i+) if (strcmp(booki.book_number,num)=0) printf("编号t 书名tt 作者 t 出版日期 tt 价格n"); printf("%-10s%-20s%-15s%-10stt%fn",bo

19、oki.book_number,booki.book_name,booki.writter,booki.pubnish_time,booki.price); k=1; if (k=0) printf("错误输入!n"); else printf("n"); printf("是否继续(Y/N)?:"); getchar(); scanf("%c",&m); if (m='n'|m='N') flag=0; menu();6、按书名查找模块:/*-*按书名查找*-*/void b

20、ooknamelookup()int i,k,flag=1;char num10;char m;printf(" nnttt按书名查找n"); while(flag) printf("请输入书名:"); scanf("%s",num); k=0; for(i=0;i<M;i+) if (strcmp(booki.book_name,num)=0) printf("编号t 书名tt 作者 t 出版日期 tt 价格n"); printf("%-10s%-20s%-15s%-10stt%fn",

21、booki.book_number,booki.book_name,booki.writter,booki.pubnish_time,booki.price); k=1; if (k=0) printf("错误输入!n"); else printf("n"); printf("是否继续(Y/N)?:"); getchar(); scanf("%c",&m); if (m='n'|m='N') flag=0; menu();7、浏览图书模块:/*-*浏览图书*-*/void l

22、ookup()int flag=1; char m; while(flag) printf("编号t 书名tt 作者 t 出版日期 tt 价格n");for (int i=0;i<M;i+)printf("%-10s%-20s%-15s%-10stt%fn",booki.book_number,booki.book_name,booki.writter,booki.pubnish_time,booki.price); printf("n"); printf("是否继续(Y/N)?:"); scanf(&quo

23、t;%c",&m); getchar(); if (m='n'|m='N') flag=0; menu();三、系统调试(一)系统调试在完成了图书信息管理系统流程图设计和程序设计以后,便进入系统的调试阶段,系统调试就是为了找出程序中的漏洞,以便于及时的修改。本设计选用VC+6.0软件进行程序调试。1、VC+6.0调试方法编写程序,编译程序,链接程序,运行程序。在编译的过程中error代表程序中含有语法错误,所以error必须为0,程序才可以运行。Warning代表程序中含有警告,存在警告时并不影像程序的运行。图3-1 程序调试软件窗口2、调试结

24、果分析通过本次调试,程序中出现了许多问题,如死循环、系统不能正常退出、和当数据溢出时,没法打印“输入有误,请重新输入!”等说明自己对程序的执行过程理解不够深刻。经过同学的指导,此程序终于可以正常的运行。二调试过程存在问题与解决办法1、调试存在的问题:1、增加图书时,增加的图书没法保存,再次运行程序增加的图书消失;2、在选择服务类型时,如果输入是字母时程序会陷入死循环;3、在选择服务类型时,当输入的数据溢出时,程序直接退出;2、解决问题的办法:1、用文件,(没学自学不会运用),所以没加;2、在scanf("%d",&choose)后加入getchar();这样当输入字母时不会陷入死循环;3、加default:printf("nnnnnnntt输入有误,请重新输入!");menu();语句,程序就可以正常的运行了;总 结这次课程设计让我掌握了许多的有用知识。首先通过

温馨提示

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

评论

0/150

提交评论