文档库

最新最全的文档下载
当前位置:文档库 > 图书管理系统C语言课程设计

图书管理系统C语言课程设计

合肥学院

计算机科学与技术系

课程设计报告

2012~2013学年第一学期

课程C语言课程设计

课程设计名称图书管理系统

学生姓名

学号

专业班级

指导教师

目录

一、系统设计背景;

二、课程设计的需求分析:

三、系统设计的目的及具体要求;

四、算法设计;

五、用户手册;

六、调试及测试;

七、总结、

一、系统设计背景:

人类已经跨入了新世纪,正在进入信息化时代。信息化浪潮、网络革命在给社会带来冲击的同时,也使图书馆业务受到了强烈的冲击,图书馆传统的管理与服务方式已不能适应读者对日益增长的文献信息的需求。随着馆藏量的不断增加,图书资料的录入与查询的难度也就相应增加,数据处理手工操作,工作量大,出错率高,出错后不易更改的手工方式,已经不能满足要求。

基于此问题,建立一个规范化,系统化,程序化的图书管理系统迫不及待。为方便对图书馆书籍的录入、修改、删除、借、还书等进行高效的管理,特编写程序以提高图书馆的管理效率。使用程序之后,工作人员可以查询书籍的在库状态,删除或者修改某图书,可以全面掌握图书的流通情况等等。

二、课程设计的需求分析:

为了满足图书管理的要求,通过计算机技术给图书管理员与读者借书、还书带来便利。使用C语言编写了图书管理系统。本系统主要实现了图书信息管理的功能,通过此系统可以对图书馆库存图书信息进行管理与维护操作。实现了图书馆内管理的一般功能,包括查询、删除、修改、图书信息等,所设计的系统以菜单方式工作,为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并且在此过程中能够尽可能的兼容用户使用过程中可能出现的异常情况。图书信息包括编号、书名、作者、出版社、出版日期、价格等,图书信息的录入要求与显示要求就是一定的规范要求,录入的图书信息用文件形式保存,并可以对其进行浏览、查询、修改、删除等基本操作。

三、系统设计的目的及具体要求:

(1)目的:将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较与总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。通过课程设计,学生在下述各方面的能力应该得到锻炼:

(1)进一步巩固、加深学生所学专业课程《C程序设计语言》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。

(2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。

(3)利用所学知识,开发小型应用系统,掌握运用C语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。

(4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。

(5)掌握结构化程序设计方法,熟悉面向过程程序设计方法。

(6)熟练掌握C语言的基本语法,灵活运用各种数据类型。

(7)进一步掌握在集成环境下如何调试程序与修改程序。

(2)课程设计名称及内容

课程设计名称:图书管理系统

设计内容:设计一个实用的小型图书管理程序,设计图书的索引卡片。对图书的在库与借出状态要有所表示。能提供读者信息查询及提供按图书的编号、书名、责任者、出版社等途径的检索。

(3)任务与要求

程序应提供的基本基本管理功能有:

1)添加:即增加一本数的记录到系统中

2)存储:即将图书信息保存在一个文件中。

3)装入:即将文件中的信息读入程序。

4)查询:可根据书名、编号查找书的相关信息,若找到显示该书全部信息。

5)修改:可修改一本书的除书名外其它信息。、

6)状态:提供该书在库、不在库的状态。

四、算法设计:

1、系统设计思路 :

整个系统制造的过程中,涉及了较多C语言的知识点,对于不同的数据类型、程序控制结构等作以分析。

(1)整个系统除了主函数外,另外还有各种功能的子函数,利用无限次循环语句while()与选择语句switch()实现了各个子函数的功能,系统根据输入的数字选项来调用相应的函数,以实现相应的功能。主要实现了图书的录入、存储、查询、删除、修改、借书、还书等功能;

(2)mbook():这就是一个图书结构体,可以描述每本书共同拥有的属性与行为, (3)Save()、putin()、lookup()、del()、update()、search():这几个就是功能函数,Save():保存一本书的信息,putin():录入一本书的信息,search():查询一本书的信息以及记录,update():修改一本书的信息,del():删除一本书的信息、(4)Borrowbook()、returnbook(),这两个函数式借书的函数,在借还后系统会修改图书的在库信息,调用时将信息传递给函数,函数返回经过功能操作后,并会出提示信息让用户返回菜单保存信息。

实现注释:

这个适用的小型图书管理系统程序的所有信息以磁盘文件的方式保存,方便用户使用,实现了图书管理系统的基本功能,包括了图书的录入、图书的查询、图书的删除、图书的修改、图书的在库状态表示。查询就是可按书名、编号、作者、出版社、出版时间以及价格等方式查询,找到后系统会自动输出这本书的所有信息。也可查询图书的在库状态,方便用户借书、还书操作,在借书或者还书成功后图书的在库状态即改变。系统中主要的数据结构就就是图书的信息,包含编号、书名、作者、出版社、出版时间、价格、在库状态,在处理过程中各项可以成为一本图书的不同属性来处理。

2、程序结构流程图:

图书管理系统C语言课程设计

void search_by_name() ;

void search_by_author();

void search();

void del();

void update();

首先利用void save()这个子函数来描述图书管理系统保存图书信息的功能,打开library、doc这个文件,确认文件可用时即可保存图书信息;void putin() 可方便图书馆工作人员录入新书,具体录入内容包括书号、书名、作者名、出版社、出版时间以及价格;利用1,0让工作人员可选择继续录入否;使用者可以通过void lookup()这个子函数来查询图书馆所以书籍的在库状态,如果书籍不在即表示已经借出;如果使用者想要搜索自己想要的书,可以通过该书的各种属性进行查询,在该系统中我仅列举了两种属性即书名与作者,用户在输入想要找的书的书名或该书作者即可查询书的在库状态,如果该书尚在库,用户即可进行借出操作,同时也可以得到该书的其她属性,包括书名、作者、出版社、出版时间、价格;图书馆的工作人员在调整图书库时 ,如果想要删除某些书籍,即可利用void del()这个子函数来进行操作,输入想要删除的书籍的各种属性即可找到该书,任何进行删除操作;当然进行修改某本书的属性时也一样,只要通过书的编号找到该书即可进行各种不同的修改。

(3)最后在结尾编写主函数main(),在确认“library、doc”!=NULL时进行图书管理系统的目录操作,在系统的主目录上,用户可以瞧到六个操作选项,包括图书信息录入、图书信息浏览、图书信息查询、图书信息删除、图书信息修改、退出图书管理系统。在确认选项后即可进行下一步由各个子函数实现的不同操作。(4)设计过程中的想法:因为自身知识以及时间的所限,本系统所提供的功能非常有限,有一些图书馆所必备的功能没有实现,其中最重要的一点就是对读者的管理,如果时间充足的话还可以加入,设置借书卡或会员证,对书籍的借出状况能有更好的储存,在工作人员想要找书时可以利用系统查询书籍的借者。总的来说这个程序大致实现了题目的要求,但就是这套程序仍然存在着很多的问题与不足,在提示信息方面可能还不够,有待改进。

五、用户手册:

下面,我大致介绍一下我得系统的主要功能与主要事项:

当运行该程序时,首先进入系统主界面,如何可以选择1、图书信息的录入2、图书信息的浏览3、图书信息的查询4、图书信息的删除5图书信息的修改0退出图书管理系统、当出现please enter choose:时,需要输入选项前的数字,输入完之后按回车键。首次运行系统时应选择1,录入一些书籍,在完成第一次的操作后,用户即可再回到系统进行其她选项的操作,不会出现cannot find!的错误提示,当用户选择2时系统会出现第一次录入的所有书的各种信息,包括书名、编号、作者、出版社、出版时间、价格;

当用户选择3时系统界面会出现提示,让用户选择想要查询书籍的编号,输入编号即可瞧到该书的各种不同属性;当用户选择4时系统也会给用户提示,让用户选择想要删除的书籍编号,当输入编号并确认后,该书就会在图书管理系统中删除;当用户选择5时系统也会给用户提示,让用户选择想要修改的书籍编号,输入完毕后,用户即可对该书的不同属性进行修改操作;返回菜单需按回车键即可。

六、调试及测试:

1、进入主菜单: