ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:24.29KB ,
资源ID:6622223      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6622223.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(宁波工程学院《C语言程序设计》课程设计报告图书信息管理系统设计.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、宁波工程学院C语言程序设计课程设计报告图书信息管理系统设计宁 波 工 程 学 院2013 2014 学年第 二 学期电信学院C语言课程设计报告题 目: 图书信息管理系统设计 班 级: 计科13-2 姓 名: 傅天一 学 号: 指导教师: 洪立 2014 年 6 月1、 系统功能和结构1.1系统设计目的为了满足图书管理的要求,通过计算机技术给图书管理人员和读者借、还书带来便利。使用c语言编写了图书管理系统。本系统主要实现图书信息管理的功能,通过此系统可对图书馆库存图书信息进行管理和维护操作。实现了图书馆内管理的一般功能,包括查询、借书、还书、添加、删除、修改图书信息等。所设计的系统以菜单方式工作

2、,为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并且在此过程中能够尽可能的兼容用户使用过程中可能出现的异常情况。图书信息包括编号、书名、作者、出版社、出版日期、价格、在库状态等。图书信息的录入和显示要求有一定的规范格式,录入的图书信息用文件形式保存,并可以对其进行浏览、查询、修改、删除等基本操作。整个程序实现链表操作,对图书信息的操作逐个地进行,一个图书信息的更改不应影响其他的图书记录。这种系统设计的人很多,也有很多种系统。总的感觉他们做的界面不够人性化,不够美观。所以我在功能完善的前提下要做到界面更加美观和人性化。整个系统制造的而过程中,涉及了较多C语言知识点,对于不同的数据类型、

3、程序控制结构、数据结构作以分析和总结,并结合这个课题进行综合的应用,在一定程度上做到了对所学知识融会贯通。进一步加深、巩固了所学的专业的基本理论知识,培养了综合分析问题、解决问题的能力。在设计程序时,实现了程序的模块化、结构化。在主函数中调用各种子函数,操作界面简单,易操作。1.2系统功能分析(系统提供主界面,各种功能操作以独立的函数为基础,运用对链表操作的技术来实现通讯录的管理,同时对操作结果在计算机中做永久保存。) 整个系统可以分为信息录入、信息浏览、信息查询、信息排序、信息删除和信息修改的功能。系统提供主界面,各种功能操作以独立的函数为基础,运用对链表操作的技术来实现图书信息的管理,同时

4、对操作结果在计算机中做永久保存。结束1.3系统结构分析程序总体结构图 选择0程序层次图 开始选择数字编号 0 1 2 3 4 图书信息修改图书信息查询图书信息浏览图书信息录入退出图书管理系统图书信息排序图书信息保存图书信息删除图书信息增加 5 6 7 8 程序流程图开始 图书信息录入 0 1图书信息浏览 0 2图书信息查询 0 3图书信息修改 0 4图书信息增加 0 5图书信息删除 0 6图书信息排序 0 7图书信息保存 0 8 退出图书管理系统 2、 核心技术介绍简单选择排序技术:基本思想:每一趟在后面n-i 个待排记录中选取排序码最小的记录作为有序序列中的第i 个记录。排序过程:1 首先通

5、过n-1次关键字比较,从n个记录中找出关键字最小的记录,将它与第一个记录交换。2 再通过n-2次比较,从剩余的n-1个记录中找出关键字次小的记录,将它与第二个记录交换。3 重复上述操作,共进行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,登录号,书名,作者名,分类号,出版单位,出版时间,价格); for(i=0;ino,(p+i)-name,(p+

6、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; printf(n排序后图书的信息记录为:n); /输出排序后图书的信息 pri

7、ntf(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排序后图书的信息记录为:n); printf(n %9

8、s%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 printf(n您输入的为非法字符!n);3、 函数功能介绍stdlib.h是包含文件stdlib 头文件即standard library标准库头文件。stdlib 头文件里包含了C、C+语言的最常用的系统函数。该文件包含了的C语言标准库函数的定义。stdlib.h里面定义了五种类型、

9、一些宏和通用工具函数。 类型例如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(struct book*p,int n); (图

10、书信息浏览) 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); (按登入号查询)void AUsearch(stru

11、ct 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图

16、书信息删除;7图书信息排序;8图书信息保存;0退出图书管理系统;当你输入1时(首次录入图书信息时),界面就会输出“添加前的图书信息记录有0个: 请输入要录入的图书书目x(0x200):”,接着你就按要求输入你要录入的图书的信息就可以了。当你输入2时,就会在出现一个你录入的图书信息,你可以继续选择继续或不,当选择继续时页面会跳转到3图书信息查询界面此时会提示你请按登陆号查询还是按作者名查询?你可以按照提示进行查询操作。当你输入4时,界面会提示你输入要修改的图书登陆号。接下来按照提示信息一步步修改图书信息。当你输入5时,界面会提示你添加图书信息按提示添加完后会显示添加前的图书信息记录和添加后的图书

17、信息记录。当输入6时,界面会提示输入删除图书的登陆号,删除后会显示图书删除后的记录。当输入7时,界面会提示按登陆号排序或按作者名排序,排序后会显示排序后俄图书信息记录。当输入8时,界面会提示“图书信息保存成功!”当输入0时,将会退出图书管理系统。Ps:操作每一步结束都回提示是否继续操作(Y/N)。源代码:#include /头文件#include#include#define L 30 /宏定义#define Q 200struct book /定义一个book类结构体。 char noL; char nameL; char authorL; char fenleiL; char puttim

18、eL; char putfromL; char priceL;/函数声明 /函数声明void menu();int bookluru(struct book*p,int n); void bookliulan(struct book*p,int n); void bookchaxun(struct book*p,int n); void bookxiugai(struct book*p,int n); int bookzhengjia(struct book*p,int n);int bookshanchu(struct book*p,int n); void bookpaixu(struct

19、 book*p,int n); void DLsearch(struct book*p,int n); void AUsearch(struct book*p,int n);int bookzairu(struct book*p,int n);void goout();int bookbaocun(struct book*p,int n); void main() /主函数 char slect,yn; struct book recordQ; /定义book类结构体变量存放图书信息共200条 int total=0,flag; total=bookzairu(record,Q); /从文件读

20、取图书信息,不超过200条 do menu(); /显示菜单 printf(请服务项编号:); slect=getchar(); getchar(); switch(slect) case0: goout();break; case1: total=bookluru(record,total);break; /函数调用 case2: bookliulan(record,total);break; case3: bookchaxun(record,total);break; case4: bookxiugai(record,total);break; case5: total=bookzheng

21、jia(record,total);break; case6: total=bookshanchu(record,total);break; case7: bookpaixu(record,total);break; case8: flag=bookbaocun(record,total); if(flag=1) printf(图书信息保存成功!n); else printf(图书信息保存失败!n); break; default:continue; if(slect=0) break; printf(n还要继续选择吗?(Y/N)); /提示是否结束 do yn=getchar(); getc

22、har(); if (yn=Y|yn=y) break; else if (yn=N|yn=n) break; else printf(非法选项!n还要继续选择吗?(Y/N)); while(1); while(yn!=N&yn!=n);/图书管理系统主菜单.void menu() system(cls); system(color 1e); printf(nn); printf(请选择服务项目编号(0-8)n); printf(*n); printf(*欢迎使用图书信息管理系统*n); printf(*n); printf( n); printf( n); printf( n); print

23、f( * 1 . 图书信息录入. n); printf( * 2 . 图书信息浏览. n); printf( * 3 . 图书信息查寻. n); printf( * 4 . 图书信息修改. n); printf( * 5 . 图书信息增加. n); printf( * 6 . 图书信息删除. n); printf( * 7 . 图书信息排序. n); printf( * 8 . 图书信息保存. n); printf( * 0 . 退出图书管理系统. n); printf( n); printf( n); printf( n); printf(*n); printf(n);int booklur

24、u(struct book *p,int n)/录入图书信息. int i=0; int m; printf(n添加前的图书信息记录共有%d个:n,n); /显示原有的图书信息 printf(n %9s%9s%9s%9s%9s%9s%9sn,登录号,书名,作者名,分类号,出版单位,出版时间,价格); i=0; while(ino,)!=0) /输入的登录号不为空时,输出图书信息 printf(%9s%9s%9s%9s%9s%9s%9sn,p-no,p-name,p-author,p-fenlei,p-puttime,p-putfrom,p-price);/信息输出 i+; p+; printf

25、(n请输入要录入的图书数目X(0X%d): ,200-n); /设置图书信息存储最大值 scanf(%d,&m); i=0; while(ino); /输入登录号,再输入其他信息 while(strcmp(p-no,)=0); printf(书名为:); gets(p-name); printf(作者名为:); gets(p-author); printf(分类号为:); gets(p-fenlei); printf(出版时间为:); gets(p-puttime); printf(出版单位为:); gets(p-putfrom); printf(价格为:); gets(p-price); p

26、+; i+; return m+n;void bookliulan(struct book*p,int n)/图书信息浏览. int i=0; printf(n %9s%9s%9s%9s%9s%9s%9sn,登录号,书名,作者名,分类号,出版单位,出版时间,价格); while(ino,p-name,p-author,p-fenlei,p-puttime,p-putfrom,p-price); p+; i+; void bookchaxun(struct book*p,int n)/图书信息查寻. char c; bookliulan(p ,n); do printf(n请问按登录号查询(D),还

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1