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

付费下载

下载本文档

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

文档简介

1、山东交通学院C语言课程设计图书信息管理系统课程设计任务书图书信息管理系统XXXXXXXXXXXXXXXXXXXXXX信息管理与信息系统XXXXXXX学生姓名XXXXXXXXXXXXXXX2 月 27日至3月 2日共1 周指导教师(签字)系主任(签字)2012 年3 月 18 日、设计内容及要求图书信息管理系统设计图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。试设计一图书信息管理系统,使之能提供以下功能:系统以菜单方式工作图书信息录入功能(图书信息用文件保存)一-输入图书信息浏览功能一-输出查询和排序功能:(至少一种查询方式)算法按书名查询按作者名查询图书信息的删除与修

2、改(可选项)、设计原始资料C程序设计(第四版)三、设计完成后提交的文件和图表1.说明书部分图书信息管理系统能提供以下功能:系统以菜单方式工作图书信息显示功能图书信息录入功能图书信息查询功能(按书名查询或按作者名查询)图书信息的删除图书信息的修改按图书单价或登陆号排序2.图纸部分:程序流程图见正文部分。四、进程安排 2月27上午至3月2号上午设计编写程序原文件 3月2号下午进行答辩 编写程序设计说明书五、主要参考资料C程序设计(第四版)成绩评定表1 课程设计概述图书信息管理系统软件功能概述1.2 开发环境概述2 图书信息管理系统软件总体设计目录2.1 图书信息管理系统软件总体设计思想1.2.2

3、总体设计流程图2.3 图书信息管理系统软件详细设计.2.4 程序测试菜单界面114.2图书信息录入界面图书信息浏览界面图书信息查询界面图书信息删除界面图书信息修改界面图书信息排序界面退出界面..1.7.设计体会及今后的改进意见 参考文献摘要由于上学期学完了 C语言的全部课程,所以这学期我们要进行C语言的课程设计报告, 我从老师所给的题目中选了“图书信息管理系统”这道题。这次课程设计是在VC+6.0环境下编写的,主要使用了 C语言来完成,一共用了一周 的时间。图书信息管理系统设计的图书

4、信息包括: 登录号、书名、作者名、分类号、 出版单位、出版时间、价格等。图书信息管理系统,能提供以下功能:系统 以菜单方式工作、图书信息录入功能 ( 图书信息用文件保存 ) 、图书信息浏览 功能、查询和排序功能:按书名查询和按作者名查询、图书信息的删除与修 改功能。一下就是此次课程设计的全部内容,包括设计思路、程序设计流程图、程 序代码、各种操作以及参考资料等。关键字:课程设计 ,VC+6.0, 图书信息管理系统1 课程设计概述1.1 图书信息管理系统软件功能概述图书信息管理系统设计的图书信息包括: 登录号、书名、作者名、分类号、 出版单位、出版时间、价格等。图书信息管理系统,能提供以下功能:

5、系统 以菜单方式工作、图书信息录入功能 ( 图书信息用文件保存 ) 、图书信息浏览 功能、查询和排序功能:按书名查询和按作者名查询、图书信息的删除与修 改功能。1.2 开发环境概述Visual C+6.0 是微软公司的重要产品之一 , 是一种功能强大行之有效的 可视化编程工具。它提供了 MFC类库,使用户可以方便的开发自己想实现的功 能。Visual C+6.0 的主要特点:1)2)3)4)5)6)7)8)自动化和宏功能。 可以灵活地定制工具栏和菜单。 可以直接运行和调试程序,还可以使用宏语言来自动操作调试器。 支持 Internet 连接。一个新的便捷的项目系统可以允许一个工作区内包含多个不

6、同的项目类型。 在工作区内可以包含多个并列的工程文件。可以在对话框中使用 WizardBar 将程序同可视化元素联系起来。Find in File 命令支持两个独立的输出窗格,可以保存上一次搜索的结果。这些新特性可以更好地利用Visual C+开发工具进行Windows应用程序开发。2 图书信息管理系统软件总体设计enter2.1 图书信息管理系统软件总体设计思想 图书信息管理系统软件的功能为管理各种图书信息的软件。 一本图书的信息定义成一个结构体变量 stu 。 图书信息管理系统软件的功能模块有: (1)提供菜单界面,方便用户对程序个功能进行选择,选择要实现的功能按 键进入该功能。2)3)4

7、)5)录入图书信息的功能。 浏览图书信息的功能。 查询图书信息的功能。 修改图书信息的功能。(6)删除图书信息的功能。(6)排序功能。2.2总体设计流程图图2-1 总体设计流程3图书信息管理系统软件详细设计源程序代码#i nclude <stdio.h>#in elude <stri ng.h> int N=0;/ struct Stu定义全局变量/ int dlh;char sn ame15;char zn ame10; int flh;/*/*定义结构体变量登录号书名*/作者名*/分类号*/旦*/*/*int jg;char cbdw 20; char cbrq10

8、;s800;void shuchu(int i)/ /*/*/*输出 si价格*/ 出版单位 */ 出版时间 */的信息printf("n*printf("n 登录号 书名 版日期 ");作者名分类号价格出版单位printf("n* printf("n%-9d%-13s%-10s%-11d%-10d%-13s%-11snn",si.dlh,si.sname,si.zn ame,si.flh,si.jg,si.cbdw,si.cbrq);浏览功能void liulan() /int i;printf("n*Hprintf(&q

9、uot;n 登录号 书名 出版日期 ");作者名分类号价格出版单位printf("n*Hfor(i=0;i<N;i+) printf("n%-9d%-13s%-10s%-11d%-10d%-13s%-11s",si.dlh,si.sname,si.zname, si.flh,si.jg,si.cbdw,si.cbrq);/ 录入功能void luru()char m;printf("你是否要添加一本书的信息 Y:是N:返回?(Y/N):");getchar();scanf("%c",&m);getch

10、ar();if(m='Y'|m='y')g2: N+;int i;i=N-1;printf("n 请输入登录号 : ");scanf("%d",&sN-1.dlh);printf("n请输入书名 : ");scanf("%s",sN-1.sname);printf("n请输入作者名 : ");scanf("%s",sN-1.zname);printf("n请输入分类号 : ");scanf("%d"

11、;,&sN-1.flh);printf("n请输入价格 : ");scanf("%d",&sN-1.jg);printf("n请输入出版单位 : ");scanf("%s",sN-1.cbdw);printf("n请输入出版日期 : ");scanf("%s",sN-1.cbrq);shuchu(i);getchar();printf("n是否继续添加?丫:是N:返回");scanf("%c",&m);getch

12、ar();if(m='Y'|m='y')goto g2;else录入完毕 !n");printf("nvoid xiugai() / 修改功能 int i,n,a=0;char str20,m;printf("n 请输入你所要修改的书名 : "); getchar(); gets(str);for(i=0;i<N;i+) if(strcmp(str,si.sname)=0) g:shuchu(i);a=1;printf("n printf("n printf("n printf(&quo

13、t;n printf("n 的选项printf("n printf("n printf("n printf("n printf("n1:3:5:7:登录号作者名价格2:4:6:书名*H分类号出版单位出版日期 8: 退出请输入你所选的代号 : ");scanf("%d",&n);switch(n)case 1:printf("case 2:printf("case 3:printf("case 4:printf("case 5:printf("cas

14、e 6:printf("case 7:printf("case 8:goto g1;shuchu(i);printf(" 修改成功! scanf("%c",&m); if(m='Y'|m='y') goto g;g1:;*H请输入新的登录号 : ");scanf("%d",&si.dlh);break; 请输入新的书名 : ");scanf("%s",si.sname);break; 请输入新的作者名 : ");scanf(&q

15、uot;%s",si.zname);break; 请输入新的分类号 : ");scanf("%d",&si.flh);break; 请输入新的价格 : ");scanf("%d",&si.jg);break; 请输入新的出版单位 : ");scanf("%s",si.cbdw);break; 请输入新的出版日期 : ");scanf("%s",si.cbrq);break;Y:继续,N:退出(Y/N): "); getcharO;/ 选 择

16、修 改if(a=0) printf("nn无法找到这本书 nn");getchar();void shanchu() f1:liulan();char str20,m; int i,b=0; printf("n 请输入你想删除的书名 : ");getchar(); gets(str); for(i=0;i<N;i+) if(strcmp(str,si.sname)=0)/strcmy 返回 0。 shuchu(i);b=1;printf(" 是否删除此书?Y:删除N:不删除(Y/N):"); scanf("%c&quo

17、t;,&m);getchar();if(m='Y'|m='y') for(;i<N;i+)/ 循环变量无须赋初值 si=si+1;N-;printf(" (Y/N):"); else/ 删除功能比较 str1 与 si.sname, 如果他们相等,删除成功!是否继续? 丫:继续,N:退出printf("(Y/N):");scanf("%c",&m);if(m='Y'|m='y') goto f1;if(b=0)printf("nn是否继续删

18、除其它书籍? 丫: 继续, N: 退出没有这本书 !nn");getchar();void chaxun()/ 查询功能int i,n,a=0;char m,str120,str220;g3: printf("n * printf("n printf("n printf("n printf("n printf("n1:书名2:请输入你的选项 : ");scanf("%d",&n);getchar();if(n=1) printf("n 输入书名 : ");gets(s

19、tr1); for(i=0;i<N;i+)if(strcmp(str1,si.sname)=0)/strcmy 相等,返回 0。 shuchu(i); a=1; if(n=2) printf("n 输入作者姓名 : "); gets(str2); for(i=0;i<N;i+)if(strcmp(str2,si.zname)=0) 相等,返回 0。 shuchu(i); a=1; if(a=0)printf(" 没有这本书 n");printf("是否继续查询? 丫:继续,N:返回(Y/N):");/strcmy作者名比较

20、 str1比较 str2*H与 si.sname, 如果他们与 si.zname, 如果他们scanf("%c",&m);getchar();if(m='Y'|m='y')goto g3;void paixu()/ 排序功能int i,j,m; struct stu p; printf("n printf("n printf("n printf("n printf("n printf("nn1:登录号2:价格*H请输入你的选项 : "); getchar();sca

21、nf("%d",&m); switch(m) case 1:for(i=0;i<N-1;i+) for(j=i+1;j<N;j+) if(si.dlh>sj.dlh) p=si;si=sj;sj=p; break;case 2:for(i=0;i<N-1;i+) for(j=i+1;j<N;j+) if(si.jg>sj.jg) p=si;si=sj;sj=p; break; void tuichu()/printf("void readfile()/件。退出功能*谢谢使用 * n");读文件,打开 book.

22、txt ,若无此文件,则新建一个名为 book.txt 的文FILE *fp;if(fp=fopen("book.txt","ab+")=NULL) if(fp=fopen("book.txt","wb+")=NULL) 不能建立文件 n");return;printf("while( fscanf(fp,"%dn%sn%sn%dn%dn%sn%sn",&sN.dlh,sN.sname,sN.zna me,&sN.flh,&sN.jg,sN.cbdw,

23、sN.cbrq)!=EOF)N+; fclose(fp);/ 从 fp 指定的文件中按指定格式将数据送到内存中将信息写入文件。void writerfile()/int i;FILE *fp; fp=fopen("book.txt","w"); for(i=0;i<N;i+) fprintf(fp,"%dn%sn%sn%dn%dn%sn%sn",si.dlh,si.sname,si.zname,si .flh,si.jg,si.cbdw,si.cbrq);把内存中的数据以指定格式输出到 fp 所指的文件中fclose(fp);/

24、void main()int s; readfile(); s=1; g6:while(s) printf("nn");图书信息管理系统 nn");请从主菜单选择 7 退出,否则无法正常保存信printf("printf("息! )nnn");printf("*n");printf("*主菜单*n");printf("* 1:录入2:浏览 *n");printf("* *n");printf("* 3:查询4:删除 *n");print

25、f("* *n");printf("* 5:修改6:排序 *n");printf("* *n");printf("* 7.退出*n");printf("* *n");printf("*n");printf("nnnn请输入你的选项 : ");scanf("%d",&s);switch(s)case 1:luru();break;case 2:liulan();getchar();break;case 3:chaxun();bre

26、ak;case 4:shanchu();break;case 5:liulan();xiugai();break;case 6:paixu();getchar();liulan(); break;case 7:tuichu(); s=0;break;default:printf(" 输入错误,重新输入 !");goto g6; printf("nn 输入任意键继续 nn");getchar();writerfile();X-4程序测试菜单界面jnii"H:cIkesjTsxxglxtDebugycxdrn exe'图书信息管理系统d青从

27、主菜单选择7退岀,否则无袪正常保徉信息! >丄:录入王菜单人退出请输入你的选项:图4-1菜单界面"H:c ktsxxgi ta De b u gy cxd m exe'图4-2图书信息录入界面H回 SS如图4-2所示,选择1录入功能,则可以逐条添加一本书的信息。添加完毕后显示出这本书的全部信息,并询问是否继续,选 丫则继续添加另一本书,选 N则回到主菜单。 H 'Vr krg lYtr>hijgyr xd m.ev"工:录入吕:修改亿退出主菜单登录号书名分类号价格出版单位出版日期111"?( H W H S M

28、UUQ11Cfwer20112as3A22asdf2012浏览图书信息界面图4-3情输入你的选项=22后,将浏览到全部图书如上图所示,该功能实现浏览图书信息功能。在主菜单选择 的信息。 Hi:c kc sjXtsxxg lxtD b u giyc xd m. exe"rit-图4-4查询图书信息界面如上图所示,该功能实现图书的查询功能,可以选择按书名查询和按作者查询,可以 查出一本书的全部信息。H:ckcte)o(glxtDebugycxdrn,exe'*二回 S图4-5图书信息删除界面如图所示,删除功能可以实现删除一本书的功能。在主菜单选择则4进入删除功能,输入想要删除的书

29、名,则可以删除掉这本书的信息。'H:ckcsjtsxxglxtiDebugycxdm-exe"a 回 -一S-al:图4-6图书信息修改界面5进入后输入想要修改的如上图所示,该功能将实现图书信息的修改,在主菜单选择 书名,然后选择想要修改的信息,然后就可以修改图书信息了。丁 识出请输入你的选项,工WWKXWWWMKMWWWKKWWWMKlfKWMWWK作者名 分类号 加榕程录号 书名作者名 分类号 加榕 山版单位 山版日期HKKKKHKH-KKHKH-KKKXHKH-KXHKH-KKKKHKH-KKHK H K K K K M K H* K K M KH-K K M K M

30、KK K K HlOf-KK H K H K K K K H K KK 122山版单位qw3QVio r-2U112ni22输人任肓键継續图4-7排序功能界面如图所示,在主菜单选6进入排序功能,可以选择按登录号或价格来按从小到大的顺序来 排列图书信息。"H:ckcsjtsxxglKtDebugycxclm.exe"MWM WyK賈MXMMM MiCKWMK 4*WW冥1;录入王菜单2二浏览3:查询4珊!I除5:修改讥退出谢谢使用情输入你的选项=7 输入任意键继续press Any key to cantinue图4-8退出界面台匕如图 4-8 所示,该功能将关闭正在运行的程序。在主菜单选择 7 按 enter 键实现该功 能,按任意键关闭程序。设计体会及今后的改进意见.在大学以前我从来就没见过 C语言,这东西对我来说是十分陌生的。刚开始学 C语 言,感到每天都在云里雾里飘着,感觉对这个东西真的好难入手。但学了一段时间后逐渐 对C语言有了认识,并能进行简

温馨提示

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

评论

0/150

提交评论