小型图书管理系统C语言课程设计报告_第1页
小型图书管理系统C语言课程设计报告_第2页
小型图书管理系统C语言课程设计报告_第3页
小型图书管理系统C语言课程设计报告_第4页
小型图书管理系统C语言课程设计报告_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、8州学院计算机系2009 级数据结构课程设计 小型图书管理系统C语言课程设 计报告 德州摩配针耳机彙 课程设计报告 -3 - 实习名称 【据结构 设计题目小型图书管理系统 实习时间2011丄3201119 专业班级2009级网络工程 指导老师徐志敏 教学单位( 小组分工情况: 学号 姓名 分工 200901005005 刘伟 插入排序存档程序编写、报告撰 写 200901005056 孟学文 删除查找修改程序编写.报告撰 写 二0一年一月九日 课程设计报告正文内容及格式要求: 1、正文部分主要包括:选题背景、论点或方案论证、 过程(设计或实验)论述、结果分析、结论或总结。 2、标题:题目用小二

2、号黑体字(加黑),居中;副标 题用三号黑体字,紧挨正标题下居中,文字前加破 折号。英文题目为18磅加粗Times New Roman字, 副标题为16磅加粗Times New Roman字。 3、课程设计报告格式要求: 一级标题用小三号黑体字; 二级标题用四号黑体字; 三级标题用小四号黑体字; 正文用宋体小四号字(英文用12磅Times New Roman 字),釆用15倍行距,标准字符间距: 页码一律用小5号字标明。 4、课程设计报告撰写要求: (1)文字通顺,语言流畅,能将设计过程表述清楚。 (2)图表整洁,布局合理,须按国家规定的绘图标 准绘制。 (3)报告字数不少于3千字。 8州学院计

3、算机系2009 级数据结构课程设计 小型 书管理系统 在学习了数据结构课本理论知识后,为了检验自己所学知识的牢固性,巩固大家 的理论知识,调动大家的编程兴趣;同时为大家提供一个实践自己,检验自己的平台, 以增加大家对将来工作的适应能力;也为了锻炼大家的动手实践能力,遂在学期末进 行了本次课程设计。 “数据结构”在计算机科学中是一门综合性的专业基础课。“数据结构”的研究不 仅涉及到计算机硬件的研究范围,而且和计算机软件的研究有着密切的关系,无论是 编译程序还是操作系统,都涉及到数据元素在存储器中的分配问题。在研究信息检索 时也必须考虑如何组织数据,以便査找和存取数据元素更为方便。因此,可以认为“

4、数 据结构”是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。在计算机 科学中,“数据结构”不仅是一般程序设计的基础,而且是设计和实现编译程序、操作 系统、数据库系统及其他系统程序和大型应用程序的重要基础。 我们本着自己的兴趣及挑战自己的态度,也为检验我们理论知识的熟练度,锻炼 我们动手实践能力,我们选择了小型图书管理系统的编写。因为我们生活在大学,图 书馆是我们学习的天堂,借书和还书又是必不可少的,一个好的图书管理系统对于我 们学生和管理人员都会为大家提供很多便利。本着挑战和创新的思想,我们进行了此 次课程设计程序编写及报告撰写。 二、运行环境(软、硬件环境) 预装了 Windows

5、 XP操作系统的PC机.Microsoft Visual C+ 6.0版编辑器。 三、算法设计的思想 通过对图书管理系统内的图书进行添加和删除操作,实现同学借书和还书的记录 工作,通过对图书的査找和按指定方式排序,更有利于同学们挑选自己所需要的图书, 借阅借书所需时间。同时,通过按需要的条件排序,也有助于图书管理人员更加方便 快捷的管理全部书库图书信息。 遍历査找和插入排序的功能,以及其它所有的算法操作都是为了方便快捷的利用 图书馆资源,更大化的优化操作流程和更好体现人机一体话的概念。 设计程序框架图: 小型图书管理系统J -7 - 改存书息 修库图信 换改 替修 |1 1 豆现书数信 示存库

6、目息 系统工作程序图解 五、算法设计分析 定义图书结构体 struet book 结构体内容:定义作者、书名、出版社、书号数组及浮点型价格数据。 char writer20;/f者/ char title20;/书名/ char publ ishinghouse 20; /出版社/ char number 10; 书号/ float price;/价格 struct book * next; ; 定义书库的结构体指针: struct book * Create_Book(); 插入图书信息: void Insert (struct book * head); 删除图书信息: void Dele

7、te (struct book * head): 刷新显示书库信息: void Print.Book(struct book * head): 査找数目: void search_book(struct book * head); 更改图书信息: void change_Book(struct book * head); 对数据进行保存工作 void save(struct book * head); 六、源代码 #include #include #include struct book char writer20; char title20; char publishinghouse20;

8、 char number10; float price; struct book * next; struct book * Create_Book(); void Insert(struct book * head); void Delete(struct book * head); void Print_Book(struct book * head); void search_book(struct book * head); void change_Book(struct book * head); void save(struct book * head); struct book

9、* Create_Book() 镶州学院计算机系2009 级数据结构课程设计 struct book * head; head=(struct book *)malloc(sizeof(struct book); liead-next=NULL; return head; void save(struct book * head) struct book *p; FILE *fp; p=head; fp=fopen(,kucun.txtft,w+t,); 8 Fprintf(FpJ书号t书名t作者t出版社t价格tiiM); fprintf(fp;fn,r); whlle(p-next!= NU

10、LL) p=p-next; fprintf(fp/f%st%st%st%st nfp-number,p title,p writer,p-publishinghouse,p-prlce); fprintf(fp5f,* * *5“); fclose(fp); printf(ft 已将图书数据保存到kucunlxt文件n”); 插入 void Insert(struct book *head) struct book *s, *p,*pl,*swap; char flag=,Y,; swap=(struct book *)malloc(sizeof(struct book); pl=swap;

11、p=head; while(flag=,Y,llflag=,yl) 8州学院计算机系2009 级数据结构课程设计 -17 - fflush(stdin); scanf(f, %sn,s-number); printf(Hn 请输入图书书名:”); fflush(stdin); scanf(fl %sls-tltle); 请输入图书作者名:J; fflush(stdin); scanf(H % sH,s- writer); printf(Hn 请输入图书出版社:J; fnush(stdin); scanf(,f %f printfW); 排序 pl=p-next; lf(head-next!=N

12、ULL) do if(strcmp(pl-number),(s-number)0) strcpy(swap n umber,plnumber); strcpy(swap-tltle,pl-title); strcpy(swapwriter); strcpy(swap-publishinghouse,p 1 publishinghouse); swap price=pl-price; strcpy(pl-number,s-number); strcpy(p 1 -title,s-title); strcpy(pl-writer,s-writer); strcpy(pl-publishinghou

13、se9s-piiblishinghouse); pl-prlce=s-price; strcpy(s-niimberswap umber); strcpy(s-title,swap-tltle); strcpy(s-writerswap-writer); strcpy(s-publishinghouse,swap publishinghouse); s-price=swap-price; P=P1; pl=p-next; * * 添加成功! * * *“); while(pl!=NULL); p-next=s; s-next=NULL; printf(nii prints11 继续添加?(Y/

14、N):”); fflush(stdin); scanf(t,%ct printfCW); if(flag=,Nlllflag=,nt) break; else if(flag=,Y,llflag=,yt) continue; save(head); 査找/ void search_book(struct book *head) struct book * p; char temp20; p=hea(l; lf(head=NULL II head-next=NULL) printf * 图书库为空! *iiM); printf请输入您要査找的书名:”); fflush(stdin); scanf

15、(v %sH,temp); while(p-next!= NULL) p=p-next; lf(strcmp(p-tltle,temp)=O) printf(ii 图书已找到!n”); printfCW); printf(f,书号:%stn1 ,p-number); printf(tf书名:%stnf,p-title); printf(f,作者名:%stnf,p-writer); printf(f,出版社:%stnfp-publishinghouse); printf(fl价格:%elAtVii1 p-price); lf(p-next=NULL) printf(nii 査询完毕!nH); v

16、oid Print_Book(struct book * head) struct book * p; if(head=NULL II head-next=NULL) printf(fn * 没有图书记录! *nnf,); p=head; print书号t书名t作者t出版社t价格tnj; while(p-next!= NULL) p=p-next; printf(t,%st%st%st%st%.2ftn,p-niimber,p-tltle,p-writer,p-publishinghouse, p price); printf(t,nt,); 更改 void change_Book(struc

17、t book * head) struct book * p; int panduan=0; char temp20; p=head; printf(请输入要修改图书的书号:“); scanf(,t%s,temp); while(p-next!= NULL) p=p-next; if(strcmp(p-number,temp)=O) printf(Hn请输入图书书名:“); fflush(stdin); scanf(ft %sM,p-title); printf(Hn 请输入图书作者名L); fflush(stdin); scanf(ft%s,t,p-writer); prlntf(Hn 请输

18、入图书出版社:J; fflush(stdin); fflush(stdin); scanf(n %r printf(HnM); panduan=l; if(panduan=0) prlntfC*ii* 没有图书记录! *nn,r); 删除 void Delete(struct book *head) struct book *s,*p; char temp20; int panduan; panduan=0; p=s=head; printf(fl 请输入您要删除的书名门; scanf(f, %sH,temp); p=p-next; while(p!= NULL) if(strcmp(p-ti

19、tle4emp)=0) panduan=l; break; p=p-next; if(panduan=l) while(s-next!=p) s=s-next; s-next=p next; free(p); printf(nn save(head); else printf(M 主函数/ void main() struct book * head; int choice; head=NULL; while(l) - - kk * J * J * J * J * 删除成功!*n; 您输入的书目不存在,请确认后输入!n); prints11 * “) prints11 * 小型图书管理系统 *

20、n”); printf(H * *nH); printf(H * 1图书信息录入 *nH); printf(f, *nH); printf(f, 2图书信息浏览 *nn); printf(fl * *nM); printf(fl * 3图书信息査询 W); prints11 * 5“); prints11 * 4图书信息修改 *n“); printf(H * f); printf(H * 5图书信息删除 柚”); printf(f, printf(f, 6退出系统 printf(fl * ,9) printf(fl 请选择:”); fflush(stdin); scanf(H%df switc

21、h (choice) case 1: if(head=NULL) head=Create_Book(); Insert(head); break; case 2: Print_Book(head); break; case 3: search_book(head); break; case 4: change_Book(head); break; case 5: Delete(head); break; case 6: 镶州学院计算机系 2009级数据结构课程设计 printf(,nM); printf(M break; default: *感谢使用图书管理系统*iiM); printf(M

22、*输入错误,请重新输入! *); break; 七、运行结果分析 主界面:显示提示操作信息,按提示信息进行操作,方便操作管理。 小型图书管理系统- licrosoft Visual C+ - 小鹫图书管理系统 cj - |j X 5JX a -J 添加信息页面:在主界面选择1,分书号.书名等条目添加图书信息,存档到书 库,便于用户查找和管理员管理所有图书。在一次添加完成后可以根据提示进行继续 添加图书信息到书库。 -18 - 8州学院计算机系2009 级数据结构课程设计 请选择 请输入圏书书号:9 请输入图书书名:数据结构 请输入图书作者名:刘伟 请输入图书岀版社:网络工程 请输入图书价格:9

23、 添力Q成功! * 继续添加? 豪莫:添加成功 ! 買识识识*药并 罐续澤加? V/N):y 请输入图书书号浮 请输入图书书名3语言 请输入图书作者名:孟学文 请输入图书出版社:德州学院 请输入图书价格汐 * 裤加成功! * 继续添加? V/N): 査询库存所需图书信息:在主界面选择3,根据书名,从书库中直接调用所査找 图书的全部信息。 请选择詣 请输入您要查找的书名:C语言 图书己找到? 文学 亠= 译 ? C : : 7 :名社: 号名土區格 书书g价 00 显示浏览库存图书信息(排序功能):按提示操作在主界面选择2,展示现在书库中 所有图书信息,并按书号大小排序,一目了然。 更改库存图书

24、信息:在主界面选择4,对图书信息进行更改.存档,更改后图书 信息将覆盖原来图书信息并存档。并在修改完成后,在主界面选择2,显示更改后现存 图书信息。 青输入要修改图书的书号;? 请输入图书书名X语言 请输入图书作者名,孟学文 请输入图书出版社=德院 请输入图书价格汽1 9.00 请选择:2 书号 书名作者岀版社价格 孟学文德院11 刘伟网络工程 灌构 在库存中删除外借图书信息:在主界面选择5,从书库中直接删除外借图书,并 做存档kucun. txt文件工作。 请输入您譎名数据结构 X XXXXWX 删J除成功 己将图书数据保存到Kucun.txt文件 图书存档txt文件:图书信息自动存档txt文件,方便借阅人査看全部库存图书 信息,并帮助管理员做好图书信息保存工作。 流加成功! xm 继续添加? :n 己将图书数据保存到kucun.txt文件 etti n詁L讥桌面V卜型因书管理系统WIJH 累 B kucuxi txt 文本文档 1 KI: 小型图书管理磁C C Soiirce file 8 KB J 小型阂书管理茶统. Project File 画 小型国书管理系统. neb CB文件 I小型因书管理系统. pig HTML Docunient 分析:通过图书管理系统流程截图解析可知,图书信息库的存档和管理都需要图 书

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论