c语言图书管理系统课程设计报告.张真

上传人:第*** 文档编号:55633175 上传时间:2018-10-03 格式:DOC 页数:21 大小:130.38KB
返回 下载 相关 举报
c语言图书管理系统课程设计报告.张真_第1页
第1页 / 共21页
c语言图书管理系统课程设计报告.张真_第2页
第2页 / 共21页
c语言图书管理系统课程设计报告.张真_第3页
第3页 / 共21页
c语言图书管理系统课程设计报告.张真_第4页
第4页 / 共21页
c语言图书管理系统课程设计报告.张真_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《c语言图书管理系统课程设计报告.张真》由会员分享,可在线阅读,更多相关《c语言图书管理系统课程设计报告.张真(21页珍藏版)》请在金锄头文库上搜索。

1、 C 语言课程设计语言课程设计题 目: 图书管理系统 系 别: 数学与统计学院 专 业: 数学与应用数学(经济数学方向) 班 级: 15 经济数学 姓 名: 张真 学 号: 1510115055 指导教师: 吕聪颖 邵艳玲 地 点: 7#407 一、目的要求一、目的要求为了满足图书管理的要求,通过计算机技术给图书管理人员和读者借、还书带来便利。使用 c 语言编写了图书管理系统。本系统主要实现图书信息管理的功能,通过此系统可对图书馆库存图书信息进行管理和维护操作。实现了图书馆内管理的一般功能,包括查询、借书、还书、添加、删除、修改图书信息等。所设计的系统以菜单方式工作,为用户提供清晰的使用提示,

2、依据用户的选择来进行各种处理,并且在此过程中能够尽可能的兼容用户使用过程中可能出现的异常情况。图书信息包括编号、书名、作者、出版社、出版日期、价格、在库状态等。图书信息的录入和显示要求有一定的规范格式,录入的图书信息用文件形式保存,并可以对其进行浏览、查询、修改、删除等基本操作。整个程序实现链表操作,对图书信息的操作逐个地进行,一个图书信息的更改不应影响其他的图书记录。二、算法设计二、算法设计: :1 1设计思想:设计思想:整个系统制造的而过程中,涉及了较多 C 语言知识点,对于不同的数据类型、程序控制结构、数据结构作以分析和总结,并结合这个课题进行综合的应用,在一定程度上做到了对所学知识融会

3、贯通。进一步加深、巩固了所学的专业的基本理论知识,培养了综合分析问题、解决问题的能力。在设计程序时,实现了程序的模块化、结构化。在主函数中调用各种子函数,操作界面简单,易操作。 2.2.详细设计:详细设计:(1)、整个系统除了主函数外,另外还有各种功能子函数,利用无限次循环语句 while()和选择语句 swithch()实现各个子函数的调用,系统根据输入的数字选项来调用相应的函数,以实现相应的功能。主要实现了图书的录入、存储、查询、添加、删除、修改、借书、还书等功能。(2)、Cbook();这是一个指针函数,它主要实现了链表的创建,并且在创建过程中从文件读取信息到链表中,以用于后面其他函数的

4、操作。它返回的时一个单向链表的头。其他函数调用时只需调用它返回的头即可。(3)、mainmenu();、menu1();、glmenu();、cxmenu();、jhmenu();这五个函数时整个图书管理系统的全部菜单函数,mainmenu();为系统主界面,进入时可选择进入程序和退出程序。menu1();为进入程序时显示的功能菜单,在此菜单可以选择录入、保存图书信息,也可选择进入其他子系统。glmenu();此菜单为进入图书管理系统的菜单,在此可以选择添加、删除、修改图书等操作。cxmenu();为查询系统的菜单,在此可以选择按书名、编号、作者等方式进行查询图书。jhmenu();为借书还书

5、的子菜单,在此可以选择借书还书操作。操作完成后按提示信息进行文件的保存操作。(4)、print();这个函数为链表的输出函数,把链表的头传给函数后,可输出整个链表的所有信息。 、(5)、hold();这个函数为保存信息到文件的函数,使用时将链表的头传给函数,函数可将整个链表的所有信息存入到磁盘文件中。并覆盖掉源文件,以便以后调用。 (6) 、holdcx();这个函数为保存查询信息到文件的函数,使用时将查询到的节点指针传给函数,函数会将该节点所有信息保存到文件中去,文件写入是以追加方式写入,以便用户查看。(7)、findnumber();findboookname();findauthor()

6、;这三个函数为查询图书信息函数,findnumber();按编号查询、findboookname();按书名查询、findauthor();按作者查询。查询到信息后返回信息所在节点,查询不到则返回空指针。(8)、add();sortnumber();delbook();revamp();这四个函数为功能函数,add();添加一本图书信息、sortnumber();将图书按编号排序、delbook();删除一本图书信息、revamp();修改一本图书信息。调用时将链表头指针传递给函数,函数返回经过功能操作后的头指针。(9)、borrowbook();returnbook();这两个函数是借书还书

7、的函数,borrowbook();借书 returnbook();还书。在借还后系统会修改图书的在库信息。调用时将链表头指针传递给函数,函数返回经过功能操作后的头指针。并会出提示信息让用户返回菜单保存信息。3 3结构体系设计:结构体系设计:图书管理系统主界面流程图录 入 所 有 书 籍 信 息进 入 图 书 管 理 系 统显 示 菜 单进 入 图 书 查 询 系 统进 入 图 书 借 还 系 统保 存 所 有 图 书 信 息返 回 上 级 菜 单图书管理系统主界面开始图书管理系统流程图图书查询系统主界面流程图返 回 上 级 菜 单显 示 所 有 图 书 信 息添 加 一 本 图 书 信 息修

8、改 一 本 图 书 信 息删 除 一 本 图 书 信 息保 存 所 有 图 书 信 息图书管理系统主界面显 示 所 有 图 书 信 息按 编 号 查 询 图 书按 书 名 查 询 图 书按 作 者 查 询 图 书保 存 所 查 询 图 书 的 信 息返 回 上 级 菜 单图书查询系统主界面图书借还系统主界面流程图三、用户手册三、用户手册: :下面,我大致介绍一下我的系统的主要功能和注意事项:当运行此程序时,首先进入系统主界面,然后可以选择 1.进入系统,2.退出系统。选择 1 后进入系统,然后显示功能菜单按数字键选择所需服务。功能菜单中,1 录入所有书籍信息,2 进入图书管理系统,3 进入图书

9、查询系统,4进入图书借还系统,5 保存所有图书信息,6 显示菜单,7 返回上级菜单。 当出现“请选择“时,需要输入选项前的数字,输完之后按回车(下同) 。首次运行系统需要先选择 1 录入库存书籍信息,然后再选择其他操作。当选择 2 时会进入图书管理系统,在这里可以选择添加、修改信息等操作,需要注意的是每次执行完添加、修改等操作后需要手动选择保存图书信息的操作,不然磁盘文件信息不会改变(下同) 。返回上级菜单进入图书查询系统、图书借还系统的操作和管理系统的差不多,用户可自己尝试使用,所有信息最后均以磁盘文件方式保存,而且格式固定,在输入和输出均按这种格式,用户在使用时必须要按这种格式输入,否则会

10、出现文件信息错误。源程序代码源程序代码 # include # include # include typedef struct link char number100;/编号 char bookname100;/书名 char author100;/作者 char publish100;/出版社 char time100;/出版时间 float price;/价格 char status100;/在库状态 借 书还 书返 回 上 级 菜 单图书借还系统struct link *next;link;/函数声明 link *Cbook(); void mainmenu(); void menu1

11、(); void glmenu(); void cxmenu(); void jhmenu(); void print(link *head); void hold(link *head); void holdcx(link *t); link *findnumber(link *head); link *findboookname(link *head); link *findauthor(link *head); link *add(link *head); link *sortnumber(link *head); link *delbook(link *head); link *rev

12、amp(link *head); link *borrowbook(link *head);link *returnbook(link *head);/主函数 main() int a,b,c,d,e; link *h,*t;L:system(“cls“);/L 为一个标志位,用于从子函数返回主界面 mainmenu(); while(1)/主程序循环运行 scanf(“%d“, switch(a) case 1:/进入主系统 B: system(“cls“);/B 为一个标志位,用于从子函数返回主功能界面 menu1();while(1)scanf(“%d“,switch(b)case 1:

13、/图书信息的录入 h=Cbook();break;case 2:/进入图书管理的子系统 system(“cls“);glmenu();while(1)scanf(“%d“,switch(c)case 1:/显示所有图书信息print(h);break;case 2:/添加一本图书信息 h=add(h);h=sortnumber(h);print(h);break;case 3:/修改一本书的信息 revamp(h);break;case 4:/删除一本图书信息 h=delbook(h);print(h);break;case 5:/保存图书信息 hold(h); break;case 6:go

14、to B;break;break;case 3:/进入图书查询的子系统system(“cls“);cxmenu();while(1)scanf(“%d“,switch(d)case 1:/显示所有图书信息 print(h);break;case 2:/按编号查询图书 t=findnumber(h);if(t=NULL)printf(“没有要查询的图书!“);if(t!=NULL)printf(“查询的图书为:“);printf(“n“);printf(“n*n“);printf(“n 编号tt 书名tt 作者tt 出版社tt 出版时间tt 价格tt 状态n“); printf(“n“);pri

15、ntf(“%st%st%st%st%s“,t-number,t-bookname,t-author,t-publish,t- time);printf(“tt%.2f“,t-price);printf(“tt%s“,t-status); printf(“n“);break;case 3:/按书名查询图书 t=findboookname(h);if(t=NULL)printf(“没有要查询的图书!“);if(t!=NULL)printf(“查询的图书为:“);printf(“n“);printf(“n*n“);printf(“n 编号tt 书名tt 作者tt 出版社tt 出版时间tt 价格tt 状态n“); printf(“n“);printf(“%st%st%st%st%s“,t-number,t-bookname,t-author,t-publish,t- time);printf(“tt%.2f“,t-price);printf(“tt%s“,t-status);printf(“n“);

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号