《程序设计基础(C)》课程设计报告图书信息管理系统学生姓名学号班级指导教师日期Xxx学院程序设计课程设计1目录目录································································································1前言-摘要·······················································································2第一章、C语言课程设计的目的···························································3第二章、总体设计(程序设计组成框图、流程图)···································3(一)、系统功能分析···························································································31、设计图书信息管理系统,使之能提供以下功能:···················································32、查询方式·····································································································3(二)、程序设计组成框图、流程图··········································································41、本程序的最大框架设计······················································································42、本程序的次级框架设计······················································································5第三章、详细设计思路·······································································6一、函数功能、入口及出口参数说明,函数调用关系描述··············································6第四章、调试与测试··········································································8一、使用软件:····································································································81、Visualc++6.0································································································82、超级屏捕专业版(试用版)·············································································8二、调试结果·······································································································8系统主界面·······································································································8功能菜单··········································································································9图书信息录入菜单······························································································9图书查询菜单···································································································10第五章、源程序代码及调试结果详细表单··············································10第六章、心得体会············································································17参考文献·························································································17程序设计课程设计2前言-摘要二十一世纪是信息的社会,信息作为社会最主要的资源,将成为战略资源引起人们广泛的关注。如何获取信息?图书是我们最好的获取信息的方式,但由于图书馆图书收藏量大大增加,使传统的图书管理员的工作日益繁重起来。迫使人们起用新的管理方法来管理图书,如何把图书管理员从繁重的工作中解脱出来呢?本设计主要研究的是用C语言开发图书馆管理功能,其具体体现在图书的检索、查询、录入功能,更要优化了图书馆管理系统设计。管理信息系统的设计与开发是一项系统工程,为了保证系统的质量,设计人员必须遵守共同的设计原则,尽可能地提高系统的各项指标。具体的设计原则如下:⑴实用性原则要力求最大限度地满足实际工作的需要,必要的考虑各业务层次、各管理环节数据处理的实用性,把满足用户生产和管理业务作为第一要素进行考虑。用户接口和操作界面设计则不必进行过多涉及,只要求在dos环境下的简单操作即可。⑵可扩展性与可维护性原则为适应将来的发展,该系统应具有良好的可扩展性和可维护性。软件设计尽可能模块化、组件化,使应用系统可灵活配置,适应不同的情况。⑶安全可靠性原则应用软件与数据库系统的设计要做到安全可靠,防止非法用户的入侵。数据库的备份策略恰当,以防止灾难性事故发生,这个由于目前水平有限,难以实施进行,所以作略。⑷用户界面设计原则不必设计,只要在dos环境下运行即可。⑸数据库设计原则:做到一致性和有效性即可。程序设计课程设计3第一章、C语言课程设计的目的1、课程设计是对学生进行实践操作训练的重要环节,通过课程设计加深对本课程基本知识的理解和提高本课程基本知识的应用能力。2、掌握本课程工程设计的主要内容、步骤和方法。3、提高操作能力,学会应用有关资料进行程序设计的方法。4、提高独立分析问题、解决问题的能力,逐步增强设计训练。5、学生要认真读教材,阅读有关规范、设计手册等资料,独立按时完成任务。6、掌握程序设计逻辑与设计报告单的格式书写。第二章、总体设计(程序设计组成框图、流程图)(一)、系统功能分析1、设计图书信息管理系统,使之能提供以下功能:A、图书信息录入功能(图书信息用文件保存)--输入B、图书信息浏览功能--输出C、图书信息查询功能--算法2、查询方式A、按书名查询B、按作者名查询图书馆管理系统的管理远权限分为3级:系统管理员、图书馆管理员和一般管理员。尽管他们具有不同模块的管理权限,但为简单起见,又因为图书馆管理系统的主要实体是书籍和图书,所以。不再仔细对管理员进行设计。书籍参数具体包括书籍类型、书名、作者名、图书编号、出版单位、出版时间、价格七个方面的基本信息。程序设计课程设计4(二)、程序设计组成框图、流程图1、本程序的最大框架设计设计如下:此乃计算机课程设计的要求图书管理系统图书信息录入图书信息浏览图书信息查询按书名查询按作者名查询管理员录入使用者浏览用文件保存(输入)信息输出涉及算法的设计程序设计课程设计5用户界面2、本程序的次级框架设计(1)、大体框架(2)、检索系统(3)、图书档案管理系统用户数据库通过数据库工作录入浏览查询查找书目读者图书信息身份验证管理员录入修改注销图书清单入库清单可以打印程序设计课程设计6(4)、程序设计的部分流程图图书查询模块流程否是是否否第三章、详细设计思路一、函数功能、入口及出口参数说明,函数调用关系描述1、#includestdio.h提供与程序编写有关的函数信息,例如对输入输出函数的声明和宏的定义、全局量的定义等,是系统提供的文件名。2、#includestdlib.h(网上摘录)包含了库函数之后就可以使用很多应用运算,类型转换,程序环境处理等了,比如可以使用sin,cos.sqrt这些函数什么的stdlib.h里面定义了五种类型、一些宏和通用工具函数。类型例如size_t、wchar_t、div_t、ldiv_t和lldiv_t;宏例如EXIT_FAILURE、EXIT_SUCCESS、RAND_MAX和MB_CUR_MAX等等;常用的函数如malloc()、calloc()、realloc()、free()、system()、atoi()、atol()、rand()、srand()、exit()等等。3、#includestring.hstring是C标准库中声明的一个字符串类型,用来定义字符串变量。4、结构体比如structStudent开始提示输入图书编号、书名、作者输入正确查询重新输入退出系统程序设计课程设计7{……}就是一个用户自己建立的结构体类型。所谓结构体就是,C语言允许用户建立又不同类型数据组成的组合型的数据结构。注意:typedef声明新的类型来代替已有的类型的名字。5、文件的打开fopen函数用来打开一个文件,其调用的一般形式为:文件指针名=fopen(文件名,使用文件方式);其中,“文件指针名”必须是被说明为FILE类型的指针变量;“文件名”是被打开文件的文件名;“使用文件方式”是指文件的类型和操作要求。“文件名”是字符串常量或字符串数组6、strcpy把从src地址开始且含有NULL结束符的字符串赋值到以dest开始的地址空间7、C语言的函数兼有其它语言中的函数和过程两种功能,从这个角度看,又可把函数分为有返回值函数和无返回值函数两种。(1)有返回值函数此类函数被调用执行完后将向调用者返回一个执行结果,称为函数返回值。如数学函数即属于此类函数。由用户定义的这种要返回函数值的函数,必须在函数定义和函数说明中明确返回值的类型。(2)无返回值函数此类函数用于完成某项特定的处理任务,执行完成后不向调用者返回函数值。这类函数类似于其它语言的过程。由于函数无须返回值,用户在定义此类函数时可指定它的返回为“空类型”,空类型的说明符为“void”。8.C语言提供了极为丰富的库函数,这些库函数又可从功能角度作以下分类。(1)字符类型分类函数(2)转换函数(3)目录路径函数(4)诊断函数(5)图形函数(6)输入输出函数(7)接口函数(8)字符串函数(9)内存管理函数(11)日期和时间函数(12)进程控制函数(13)其它函数程序设计课程设计8第四章、调试与测试一、使用软件:1、Visualc++6.02、超级屏捕专业版(试用版)二、调试结果系统主界面程序设计课程设计9功能菜单图书信息录入菜单程序设计课程设计10图书查询菜单第五章、源程序代码及调试结果详细表单#includestdio.h#includestring.h#includestdlib.h#includeco