C语言程序设计课程设计实训报告基于文件的小型图书管理系统的设计与实现

上传人:M****1 文档编号:431127307 上传时间:2023-10-22 格式:DOC 页数:30 大小:130.50KB
返回 下载 相关 举报
C语言程序设计课程设计实训报告基于文件的小型图书管理系统的设计与实现_第1页
第1页 / 共30页
C语言程序设计课程设计实训报告基于文件的小型图书管理系统的设计与实现_第2页
第2页 / 共30页
C语言程序设计课程设计实训报告基于文件的小型图书管理系统的设计与实现_第3页
第3页 / 共30页
C语言程序设计课程设计实训报告基于文件的小型图书管理系统的设计与实现_第4页
第4页 / 共30页
C语言程序设计课程设计实训报告基于文件的小型图书管理系统的设计与实现_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《C语言程序设计课程设计实训报告基于文件的小型图书管理系统的设计与实现》由会员分享,可在线阅读,更多相关《C语言程序设计课程设计实训报告基于文件的小型图书管理系统的设计与实现(30页珍藏版)》请在金锄头文库上搜索。

1、防灾科技学院实训报告书专 业 网络工程 系 别 灾害信息工程系 课 程 C语言程序设计 报告题目 基于文件的小型图书管理系统的设计与实现 报告人 班级及学号 指导教师 带队教师 实训时间 8.22-8.26 实训单位 4#301 教务处监制说 明报告要有实训目的、要求、原理简述、方法、步骤、实训体会等,具体内容按各系及实训教师要求。以下模板内容,如果你的程序里没有体现,就不用写。目 录1 前言42 系统需求分析42.1 问题定义42.2 需求分析52.3 项目开发计划63 系统设计83.1 系统功能框架83.2 数据结构设计93.3功能模块设计114 系统实现124.1 系统硬件环境124.2

2、 系统软件环境124.3 开发工具124.4 系统功能模块设计与实现124.4.1 图书管理界面125 系统测试285.1 测试用例设计285.2 测试结果分析28实训体会281 前言图书管理系统对于现代图书馆而言,是能否发挥其教学科研的作用的至关重要技术平台。随着当今社会发展,信息化水平逐步提高,对图书管理有了新的要求,因此,编写一个信息管理系统是十分有必要的。2 系统需求分析2.1 问题定义该软件主要是实现对图书信息进行系统化的管理,本系统要求实现以下的几个基本功能:(1) 要求把所有录入的数据以文件的形式,保存在硬盘上。(2) 实现简易的提示菜单界面,用所学的知识尽量实现良好的、美观的“

3、人机界面”,便于软件的操作使用。(3) 管理员登录时,需要验证密码,密码输入超过三次,自动退出系统。(4) 图书管理功能:包括图书添加功能、图书修改功能、图书删除功能和图书查询功能;(5) 读者管理功能:包括读者添加功能、读者修改功能、读者删除功能和读者查询功能;(6)借阅管理功能:借书功能,还书功能,续借功能。2.2 需求分析(1) 要求把所有录入的数据以文件的形式,保存在硬盘上。实现简易的提示菜单界面,用所学的知识尽量实现良好的、美观的“人机界面”,便于软件的操作使用管理员登录时,需要验证密码,密码输入超过三次,自动退出系统。(2) 图书管理功能:包括图书添加功能、图书修改功能、图书删除功

4、能和图书查询功能;a) 图书添加功能:新书入库。图书购入后由图书管理人员将书籍编码并将其 具体信息进行录入。b) 图书查询功能:提供按照图书名、作者和出版社三种方式来查询图书,只考虑精确查询;c) 图书修改功能:如果有录入错误,可以实现管理员对图书信息进行修改;d) 图书删除功能:如果有图书丢失或损坏等情况,把图书注销掉。(3) 读者管理功能:包括读者添加功能、读者修改功能、读者删除功能和读者查询功能;e) 读者添加功能:为新的读者办卡功能;f) 读者查询功能:按照读者姓名或者读者编号进行精确查询;g) 读者删除:注销读者操作。(4) 借阅管理功能h) 借书管理:根据借阅卡编号和图书编号,进行

5、借书登记。在借阅信息中插入一条借书记录,该记录包括读者编号、图书编号、借出日期、借阅编号信息,更新该记录的相应数据。把超期图书以列表的形式显示出来,并以电子邮件。i) 还书管理:根据借阅卡编号、图书ID等,在借阅信息表中找到相应的记录,将借书记录删除,更新该记录的相应数据(图书信息表)。根据违反规定情况计算和登记罚款记录。j) 丢书管理:每本书赔偿书价的3倍;k) 过期管理:借书日期时间为30天,没按照预期还书的,超过还书日期一天赔偿5毛钱;2.3 项目开发计划序号实习项目任务主要内容学时1需求分析根据项目需求,描述模型12系统分析分析系统,建立模型。23系统设计系统架构1结构设计1功能设计1

6、4系统实现硬件环境实现5软件环境实现7功能实现75系统测试单元测试设计测试用例,对单个类及类的方法进行测试。3功能测试设计测试用例,对系统关键功能进行测试。2性能测试使用测试工具,对系统进行性能测试。36系统部署描述具体部署过程37整理项目文档根据自己完成的情况,整理项目文档43 系统设计3.1 系统功能框架3.2 数据结构设计图书(图书编号,书名,ISBN,价格,作者,出版社,总数量,剩余数量)具体如下:struct book_typelong booknum; /*图书编号*/char booknam20 ;/*图书名字*/char ISBN20; /*图书ISBN*/;float pri

7、ce; /*图书价格*/char writer20; /*图书名字*/char pubhouse20; /*图书出版社*/ long leftcount; /*图书剩余量*/bookbookcount;读者(读者编号,姓名,借书数量,电子邮件)具体如下图:struct reader_typelong readernum; /*读者编号*/char readernam20; /*读者姓名*/int borcount; /*借阅数量*/readerreadercount;借阅信息(读者编号,图书编号,借阅编号,借书日期),具体如图:struct lend_typelong booknum; /*图

8、书编码*/ long readernum; /*读者编号*/ char bordate15;/*借书日期*/ char redate15;/*还书日期*/lendlendcount;3.3功能模块设计case 4case 3case 2case 1结束P!=1调用addbook()P=1printf(-欢迎进入图书查询管理系统-n);do ()判断n0?p=1printf(请选择所需要的功能n);输入选择p调用upbook()调用delbook()调用finbook()p进入图书查询系统返回主界面或退出4 系统实现4.1 系统硬件环境显示器、主机、键盘、鼠标、512M内存4.2 系统软件环境W

9、indows Xp4.3 开发工具Vc6.04.4 系统功能模块设计与实现 4.4.1 图书管理界面由主界面进入图书管理系统,由提示进入各个功能模块的界面。而图书管理系统主要有添加、删除、更新、查询四部分组成,而查询功能又包括按照图书名、作者和出版社三种方式来查询图书。因此在实现时一定要注意这方面的问题。主界面选择1进入图书管理系统,2进入读者管理系统,3进入借阅管理系统。图书管理系统,下分图书的添加、删除、统计和修改四个选项,可以通过选择选项,进入所需要的服务:/*实现图书管理功能:包括添加图书信息,修改图书信息,删除图书信息,图书信息查询*/# include# include#inclu

10、de# define bookcount 1000struct book_typelong booknum;char booknam20;char ISBN20;float price;char writer20;char pubhouse20;long totalcount; long leftcount;bookbookcount;void addbook()/实现添加图书信息功能 int i,j,n,k;FILE *fp;printf(是否添加图书信息?请选择服务项目:n1: 是n2: 返回上一菜单n3: 退出n请输入服务项目代码n);scanf(%d,&i); printf(n); s

11、witch (i) case 1: printf(请输入一次性最多添加的图书数量n); scanf(%d,&n); printf(n); k=n; printf(请依次输入图书编号,书名,ISBN,价格,作者,出版社,总数量,剩余数量n); for(j=0;jk;j+) scanf(%ld %s %s %f %s %ld %ld ,bookj.booknum,bookj.booknam,bookj.ISBN,bookj.price,bookj.writer,bookj.pubhouse,bookj.totalcount,bookj.leftcount); if(fp=fopen(book_li

12、st,a)=NULL) printf(cannot open filen); return; for (n=0;nk;n+) if(fwrite(&booki,sizeof(struct book_type),1,fp)!=1) printf(file write errorn); fclose(fp);break; case 2: addbook();break; case 3: exit(0);void upbook()/实现修改图书的功能,假设图书编号无误int m=0,i,choice;long booknum1;FILE *fp,*fp1;fp=fopen(book_list.txt,r);fp1=fopen(book_list 1.txt,w);printf(请输入需要修改的图书的编号:n);scanf(%s, booknum1); printf(n);for(i=0;fread(&booki,sizeof(struct book_type),1,fp)!=0;i+)if(boo

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号