宁波工程学院C语言程序设计课程设计报告图书信息管理系统设计.doc





《宁波工程学院C语言程序设计课程设计报告图书信息管理系统设计.doc》由会员分享,可在线阅读,更多相关《宁波工程学院C语言程序设计课程设计报告图书信息管理系统设计.doc(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、宁 波 工 程 学 院20132014 学年第 二 学期电信学院C语言课程设计报告题 目:图书信息管理系统设计 班 级: 计科13-2姓 名: 傅天一学号:指导教师:洪立 2014 年 6月目录目录21、系统功能和结构31.1系统设计目的31.2系统功能分析31.3系统结构分析32、核心技术介绍33、函数功能介绍34、设计体会及总结4参考文献:4附录一:51、 系统功能和结构1.1系统设计目的为了满足图书管理的要求,通过计算机技术给图书管理人员和读者借、还书带来便利。使用c语言编写了图书管理系统。本系统主要实现图书信息管理的功能,通过此系统可对图书馆库存图书信息进行管理和维护操作。实现了图书馆
2、内管理的一般功能,包括查询、借书、还书、添加、删除、修改图书信息等。所设计的系统以菜单方式工作,为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并且在此过程中能够尽可能的兼容用户使用过程中可能出现的异常情况。图书信息包括编号、书名、作者、出版社、出版日期、价格、在库状态等。图书信息的录入和显示要求有一定的规范格式,录入的图书信息用文件形式保存,并可以对其进行浏览、查询、修改、删除等基本操作。整个程序实现链表操作,对图书信息的操作逐个地进行,一个图书信息的更改不应影响其他的图书记录。这种系统设计的人很多,也有很多种系统。总的感觉他们做的界面不够人性化,不够美观。所以我在功能完善的前提下要
3、做到界面更加美观和人性化。整个系统制造的而过程中,涉及了较多C语言知识点,对于不同的数据类型、程序控制结构、数据结构作以分析和总结,并结合这个课题进行综合的应用,在一定程度上做到了对所学知识融会贯通。进一步加深、巩固了所学的专业的基本理论知识,培养了综合分析问题、解决问题的能力。在设计程序时,实现了程序的模块化、结构化。在主函数中调用各种子函数,操作界面简单,易操作。1.2系统功能分析(系统提供主界面,各种功能操作以独立的函数为基础,运用对链表操作的技术来实现通讯录的管理,同时对操作结果在计算机中做永久保存。)整个系统可以分为信息录入、信息浏览、信息查询、信息排序、信息删除和信息修改的功能。系
4、统提供主界面,各种功能操作以独立的函数为基础,运用对链表操作的技术来实现图书信息的管理,同时对操作结果在计算机中做永久保存。开始菜单页面输入数字编号选项进入选择子页面结束1.3系统结构分析程序总体结构图选择0程序层次图开始选择数字编号0 1 2 3 4 图书信息修改图书信息查询图书信息浏览图书信息录入退出图书管理系统图书信息排序图书信息保存图书信息删除图书信息增加567 8 程序流程图开始图书信息录入 0 1图书信息浏览 0 2图书信息查询 0 3图书信息修改 0 4图书信息增加 0 5图书信息删除 0 6图书信息排序 0 7图书信息保存 0 8 退出图书管理系统2、 核心技术介绍简单选择排序
5、技术:基本思想:每一趟在后面n-i 个待排记录中选取排序码最小的记录作为有序序列中的第i 个记录。排序过程: 首先通过n-1次关键字比较,从n个记录中找出关键字最小的记录,将它及第一个记录交换。 再通过n-2次比较,从剩余的n-1个记录中找出关键字次小的记录,将它及第二个记录交换。 重复上述操作,共进行n-1趟排序后,排序结束实现代码为:void bookpaixu(struct book*p,int n)int j,i,k;char c1;struct book temp;printf(n排序前图书的信息记录为:n);printf(n %9s%9s%9s%9s%9s%9s%9sn,登录号,书
6、名,作者名,分类号,出版单位,出版时间,价格);for(i=0;ino,(p+i)-name,(p+i)-author,(p+i)-fenlei,(p+i)-putfrom,(p+i)-puttime,pi.price);printf(n按登录号排序(D),还是按作者名排序(A)?); /选择排序的方式c1=getchar();getchar();if(c1=d|c1=D) /选择登录号由小到大排序for(i=0;in-1;i+) k=i;for(j=i+1;j0) /使用选择法进行排序k=j;if(k!=i) /如果最小熟不熟默认的pi,再交换,temp=pk;pk=pi;pi=temp;p
7、rintf(n排序后图书的信息记录为:n); /输出排序后图书的信息printf(n %9s%9s%9s%9s%9s%9s%9sn,登录号,书名,作者名,分类号,出版单位,出版时间,价格);for(i=0;ino,(p+i)-name,(p+i)-author,(p+i)-fenlei,(p+i)-putfrom,(p+i)-puttime,pi.price);else if(c1=a|c1=A) /选择作者名由小到大排序for(i=0;in-1;i+)k=i;for(j=i+1;j0)k=j;if(k!=i) /使用选择法进行排序temp=pk;pk=pi;pi=temp;printf(n排
8、序后图书的信息记录为:n);printf(n %9s%9s%9s%9s%9s%9s%9sn,登录号,书名,作者名,分类号,出版单位,出版时间,价格); /输出排序后图书的信息for(i=0;ino,(p+i)-name,(p+i)-author,(p+i)-fenlei,(p+i)-putfrom,(p+i)-puttime,pi.price);elseprintf(n您输入的为非法字符!n);3、 函数功能介绍stdlib.h是包含文件stdlib 头文件即standard library标准库头文件。stdlib 头文件里包含了C、C+语言的最常用的系统函数。该文件包含了的C语言标准库函数
9、的定义。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()等等。 系统使用的主要函数 void menu();int bookluru(struct book*p,int n); (录入图书信息)void bookliulan(str
10、uct book*p,int n); (图书信息浏览)void bookchaxun(struct book*p,int n);(图书信息查询)void bookxiugai(struct book*p,int n); (图书信息修改)int bookzengjia(struct book*p,int n); (图书信息增加)int bookshanchu(struct book*p,int n); (图书信息删除)void bookpaixu(struct book*p,int n); (图书信息排序)void DLsearch(struct book*p,int n); (按登入号查询)v
11、oid AUsearch(struct book*p,int n); (按作者名查询)int bookzairu(struct book*p,int n); (图书信息文件储存 )void goout(); (退出程序) int bookbaocun(struct book*p,int n); (图书信息保存)void main() 系统使用的主要数据结构 struct book /定义一个book类结构体。char noL;char nameL;char authorL;char fenleiL;char puttimeL;char putfromL;char priceL;4、 设计体会及
12、总结这次课程设计让我掌握了许多的有用知识。首先通过不断地学习和锻炼更加熟练地掌握应用软件Microsoft Visual C+ 6.0 了。设计正确及合适的程序对于我们初学者来说是很大的难题,出现一丁点儿错误就得非很大的努力去修改,正式者一步步一点点的努力让我对C语言游乐更深的认识。同时我掌握了解决问题的方法,这无论是对以后的学习、生活都有无比重要的价值通过两周的课程设计,第一次我试着用所学的C语言知识去编制生活中常用的程序。我们是小组选择编辑图书信息管理系统程序。由于分工合作,我负责的是查询和排除模块。起初对知识掌握的不够全面,在整个设计过程中遇到很多问题。比如,编译出现错误,对于格式的掌握
13、还不够透彻;在分界面运行完后,回不到系统的主界面,出现了死循环;在删除信息的板块中,删除了要保留的;运行时,屏幕显示的字之间无空格。后来,通过小组互相帮组讨论,查阅书籍,改善了程序。首先把原程序中的运用scanf()输入字符,改为getchar(),排除了接受回车键所出现的问题,能够顺利的返回主界面。其次,printf()中字符串控制的长度拉宽。最后还是能如期的完成此次实训。当然,由于初次接触图书管理系统的设计,程序还是存在缺陷。比如操作起来不够简便、连贯,同时也没考虑到实际问题。如图书的价格要取大于等于零的数等。总之,此次的课程设计还是对我们的专业很有帮助。既巩固了我们的C语言知识,让我们对
14、一部分函数的功能有了更加深刻的理解,把所学运用到实际,也使我们在系统设计领域有了新的拓展,开发我们的思维。参考文献:1 黄明等编著C语言课程设计北京:电子工业出版社2 郭翠英编著C语言课程设计案例精编北京:中国水利水电出版社3 宁正元数据结构(c语言)南京:东南大学出版社。2000年6月第1版4 严蔚敏等数据结构(c语言版)北京:清华大学出版社,1997年4月第1版5 谭浩强编著C程序设计题解及上机指导(第3版) 北京:清华大学出版社6 谭浩强编著C程序设计(第3版) 北京:清华大学出版社7 洪国胜等编著C+ Builder程序设计轻松上手北京:清华大学出版社8 宁正元数据结构(c语言)南京:
15、东南大学出版社。2000年6月第1版9 严蔚敏等数据结构(c语言版)北京:清华大学出版社,1997年4月第1版。10 明日科技编著Visual C+程序开发范例宝典北京:人民邮电出版社。11 胡学钢等数据结构算法设计指导北京:清华大学出版社,1999年第1版。12 刘大有数据结构(面向21世纪课程教材)北京:高等教育出版社。2001年6月第1版。13 胡学钢等数据结构算法设计指导北京:清华大学出版社,1999年第1版。附录一:系统使用方法:一开始运行程序时,就会出现一个让你选择的界面,1.图书信息录入;2图书信息浏览;3图书信息查询;4图书信息修改;5图书信息增加;6图书信息删除;7图书信息排
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 宁波 工程学院 语言程序设计 课程设计 报告 图书 信息管理 系统 设计

限制150内