2022年图书管理系统c语言-数据结构课程设计报告 2.pdf
《2022年图书管理系统c语言-数据结构课程设计报告 2.pdf》由会员分享,可在线阅读,更多相关《2022年图书管理系统c语言-数据结构课程设计报告 2.pdf(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、. - 数据结构大作业图书管理系统工程管理121279044 伍杨目录一、题目要求 . 2 二、总体设计 . 2 三、编码实现 . 3 1) 定义图书结构体 . 3 2) 登记操作 . 4 3) 查看操作 . 8 4) 删除操作 . 11 5) Main 函数 . 20 四、调试与测试 . 26 五、五心得体会 . 28 六、用户手册 . 28名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 28 页 - - - - - - - - - . - 一、 题目要求1) 目的要求
2、本课程设计任务的目的是要求学生按照分析、设计、编码、调试和测试的软件开发过程独立完成管理系统设计,以及C 语言算法的掌握 ,并能最终实现本系统的功能要求, 通过这个程序可以学习到以前调试短程序没有的的经验。2) 题目要求实现图书管理信息系统的设计。要求实现图书添加、显示全部图书、查询、借阅和归还。主要考查利用文件的操作!二、 总体设计名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 28 页 - - - - - - - - - . - 三、 编码实现1) 定义图书结构体st
3、ruct book char bookname20; / 书名int NO; / 书编号char type20; / 类型int date; / 到书日期; struct person char name10; / 姓名char classes20; / 班级int number; / 学号char telephone12; / 联系电话int NO; / 书编号char bookname20; / 书名int borrowdate; / 借书日期int returndate; / 还书日期名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - -
4、 - - 名师精心整理 - - - - - - - 第 3 页,共 28 页 - - - - - - - - - . - 2) 登记操作void new_book() / 登记新书 FILE *fp; struct book b; int i,j; if(fp=fopen(shuku.txt,a)=NULL) printf(File open error!n); exit(0); printf(请朱老师输入此次收到的书本总数:); scanf(%d,&i); for( j=0;ji; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - -
5、- 名师精心整理 - - - - - - - 第 7 页,共 28 页 - - - - - - - - - . - all=i; if(i0&i=Max) for( j=1;jdataj.iddataj.namedataj.typedataj.statusdataj.count; in.close(); 3) 查看操作v void see_book() / 查看书库记录 FILE *fp; long NO; char bookname20; char type20; long date; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - -
6、- - 名师精心整理 - - - - - - - 第 8 页,共 28 页 - - - - - - - - - . - if(fp=fopen(shuku.txt,r)=NULL) printf(File open error!n); exit(0); while(!feof(fp) fscanf(fp,%s%ld%s%ld,bookname,&NO,type,&date); printf(%-10s %-10ld %-10s %ldn,bookname,NO,type,date); ; if(fclose(fp) printf(Can not close the file!n); exit(
7、0); void see_person() / 查看所有借书记录 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 28 页 - - - - - - - - - . - FILE *fp; char name10; char classes20; int number; char telephone20; int NO; char bookname20; int borrowdate; int returndate; if(fp=fopen(jieshujilu.txt,r
8、)=NULL) printf(File open error!n); exit(0); while(!feof(fp) fscanf(fp,%s %s %ld %s %ld %s %ld %ld,name,classes,&number,telephone,&NO,bookname,&borrowdate,&returndate); printf(%-5s %-5s %ld %-5s %ld %-5s %ld %ldn,name,classes,number,telephone,NO,bookname,borrowdate,returndate); 名师资料总结 - - -精品资料欢迎下载 -
9、 - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 28 页 - - - - - - - - - . - ; if(fclose(fp) printf(Can not close the file!n); exit(0); 4) 删除操作void delete_books() / 删除旧书 FILE *fp; struct book b; int number; void deletebooks(); printf(请输入您要删除的书编号:); scanf(%d,&number); 名师资料总结 - - -精品资料欢
10、迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 28 页 - - - - - - - - - . - if(fp=fopen(shuku.txt,r)=NULL) printf(不能打开此文件!n); exit(0); while(!feof(fp) fscanf(fp,%s %d %s %d,b.bookname,&b.NO,b.type,&b.date); if(b.NO=number) printf(nnt*图书信息 *n); printf(nt图书书名 :%25s,b.bookname); pr
11、intf(nt-); printf(nt图书编号 :%25d,b.NO); printf(nt-); printf(nt图书类型: %23s,b.type); printf(nt-); printf(nt到书日期: %25d,b.date); printf(nt-); deletebooks(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 28 页 - - - - - - - - - . - void deletebooks() FILE *fp,*fp1,*fp
12、2,*fp3; int number; struct book b; printf(nn确认删除?请再次输入书编号:); scanf(%d,&number); if(fp=fopen(shuku.txt,r)=NULL) printf(不能打开此文件!n); exit(0); if(fp1=fopen(tempshuku.txt,w)=NULL) / 建立一个临时文件printf(不能打开此文件!n); exit(0); while(!feof(fp) fscanf(fp,%s %d %s %d,b.bookname,&b.NO,b.type,&b.date); 名师资料总结 - - -精品资
13、料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 28 页 - - - - - - - - - . - if(b.NO=number) continue; else fprintf(fp1,%s %d %s %d,b.bookname,b.NO,b.type,b.date); fclose(fp); fclose(fp1); if(fp2=fopen(tempshuku.txt,r)=NULL) printf(不能打开此文件!n); exit(0); if(fp3=fopen(shuku.txt,w)
14、=NULL) / 清空书库printf(不能打开此文件!n); exit(0); while(!feof(fp2) / 将临时文件的内容写人源文件fscanf(fp2,%s %d %s %d,b.bookname,&b.NO,b.type,&b.date); fprintf(fp3,%s %d %s %d,b.bookname,b.NO,b.type,b.date); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 28 页 - - - - - - - - - . -
15、fclose(fp2); fclose(fp3); printf(n 删除成功! n); void delete_returnbook() / 删除借书记录 FILE *fp; int numbers; struct person p; void deletereturnbook(); char choice; printf(n请输入所还书本的书编号:); scanf(%d,&numbers); if(fp=fopen(jieshujilu.txt,r)=NULL) printf(不能打开此文件!n); exit(0); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - -
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年图书管理系统c语言-数据结构课程设计报告 2022 图书 管理 系统 语言 数据结构 课程设计 报告
限制150内