C语言图书管理系统程序设计实习报告.docx

上传人:小飞机 文档编号:3155276 上传时间:2023-03-11 格式:DOCX 页数:13 大小:39.11KB
返回 下载 相关 举报
C语言图书管理系统程序设计实习报告.docx_第1页
第1页 / 共13页
C语言图书管理系统程序设计实习报告.docx_第2页
第2页 / 共13页
C语言图书管理系统程序设计实习报告.docx_第3页
第3页 / 共13页
C语言图书管理系统程序设计实习报告.docx_第4页
第4页 / 共13页
C语言图书管理系统程序设计实习报告.docx_第5页
第5页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《C语言图书管理系统程序设计实习报告.docx》由会员分享,可在线阅读,更多相关《C语言图书管理系统程序设计实习报告.docx(13页珍藏版)》请在三一办公上搜索。

1、C语言图书管理系统程序设计实习报告C语言课程设计报告 1. 题目要求 图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等,试设计一图书管理系统,使之能提供以下功能: 新图书基本信息的输入。 图书基本信息的查询。 对撤销图书信息的删除。 办理借书的手续。 办理还书的手续。 2. 需求分析 这是一个能简单管理图书的小型图书管理系统,其中图书信息包括:书名,作者名,书编号,分类,出版社,价格等。通过这些信息使之提供以下功能: 图书信息的创建功能。其中图书信息包括:书名,作者名,书编号,分类,出版社,价格等。 图书信息查看功能。用来查看各项图书信息。 图书信息查找功能

2、。通过已知信息来查找想要的图书。 图书信息的删除。可以删除指定图书。 图书信息的修改。可以修改图书的各项信息。 菜单选择功能,次功能也是图书信息管理系统的入口,用户所要进行的各种操作均需要在此模块中进行选择并进行调用其他模块实现相应的功能。 3. 总体设计 数据结构 图书管理系统中主要的数据结构包含书名、图书书号、作者名、分类、出版社、出版时间、价格等;在处理过程中各项可以作为一本图书的不同属性来进行处理。 struct Book /*定义结构体数组*/ char ISBN14; /编号 char Name20; /名称 char Author20; /作者 C语言课程设计报告 char Ty

3、pe10; /类型 char Pub20; /出版社 char Date10; /出版日期 float Price; /价格 ; 模块分化 本系统主要有添加图书、查找图书、搜索图书、删除图书、修改图书几个基本功能。 函数声明: int Choose; int Add; int View; int Search; int Delete; int Modify; int menu; 4. 详细设计 流程图: /选择 /添加图书 /查找图书 /搜索图书 /删除图书 /修改图书 /返回系统 C语言课程设计报告 开始 主菜单 输入 查找 添加图书 查看图书 书名查找 作者查找 编号查找 日期查找 删除图

4、书 修改图书 退出系统 C语言课程设计报告 4.1主函数 函数的原型:void main 函数的功能:调用菜单,使用各项功能。 程序: main menu; menu printf (nn*图书管理系统*nnt1.添加图书nt2.查看图书nt3.搜索图书nt4.删除图书nt5.修改图书nt6.退出程序nn*n); switch (Choose(6) case 1: Add; break; case 2: View; break; case 3: Search; break; case 4: Delete; break; case 5: Modify; break; case 6: exit(0

5、); return 0; Choose(int limit) int n = 0; while (n limit) C语言课程设计报告 printf(选择一个项目:); scanf(%d, &n); getchar; return n; 开始 显示菜单的的一系列功能选项 N 输入n,判断n是否是16? Y 调用与n相应的模块 结束 4.2各功能模块设计 4.2.1添加图书信息: 函数原型:void Add 函数的功能:记录图书的各项信息 程序: Add FILE *f; struct Book b; f = fopen(Book.txt, ab); if (f = NULL) printf(F

6、ile open error!n); exit(0); C语言课程设计报告 else Add:printf (请输入图书信息,分类标签:n图书编号 图书名称 作者 图书类型 出版社 出版日期 图书价格n); scanf(%s%s%s%s%s%s%f, b.ISBN, b.Name, b.Author, b.Type, b.Pub, b.Date, &b.Price); fwrite(&b, sizeof(struct Book), 1, f); printf(n完成.t1.继续添加t2.返回菜单n); switch (Choose(2) case 1: goto Add; break; cas

7、e 2: fclose(f); menu; break; return 0; C语言课程设计报告 开始 输入 进入添加图书菜单 输入图书信息 添加成功 2 输入1或2 1 退出程序 4.2.2查看图书信息 函数的原型:void View 函数的功能:查看图书书编号,书名,作者名,类型,出版社,出版日期,价格。 程序: View FILE *f; struct Book b; f = fopen(Book.txt, rb); if (f = NULL) printf(File open error!n); exit(0); else fread(&b, sizeof(struct Book),

8、1, f); C语言课程设计报告 while (feof(f) = 0) printf(%st%st%st%st%st%st%4.2fn, b.ISBN, b.Name, b.Author, b.Type, b.Pub, b.Date, b.Price); fread(&b, sizeof(struct Book), 1, f); fclose(f); printf(n完成.t1.返回菜单t2.退出程序n); switch (Choose(2) case 1: menu; break; case 2: exit(0); return 0; 开始 输入2 进入查看图书菜单 1 输入1或2 2 退

9、出程序 4.2.3搜索图书 C语言课程设计报告 函数的原型:void Search 函数的功能:通过书编号,书名,作者名,类型,出版社,出版日期查找图书。 程序: Search FILE *f; struct Book b; char s40; int i = 0; f = fopen(Book.txt, rb); if (f = NULL) printf(File open error!n); exit(0); else printf(请输入图书关键词查询:); scanf(%s, s); fread(&b, sizeof(struct Book), 1, f); while (feof(f

10、) = 0) char bi128 = 0 ; strcat(bi, b.ISBN); strcat(bi, b.Name); strcat(bi, b.Author); strcat(bi, b.Type); strcat(bi, b.Pub); strcat(bi, b.Date); if (strstr(bi, s) printf(%st%st%st%st%st%st%4.2fn, b.ISBN, b.Name, b.Author, b.Type, b.Pub, b.Date, b.Price); i+; break; fread(&b, sizeof(struct Book), 1,

11、f); fclose(f); if (i = 0) printf(没有发现图书信息!); else printf(%d 发现信息, i); C语言课程设计报告 printf(n完成.t1.返回菜单t2.退出程序n); switch (Choose(2) case 1: menu; break; case 2: exit(0); return 0; C语言课程设计报告 开始 输入3 进入搜索图书菜单 1 N 输入1或2 输入关键字,搜索是否有相关字? Y 显示相关书籍1 2 1 输入1或2 2 退出程序 结束 4.2.4删除图书 函数的原型:void Delete 函数的功能:通过图书编号或者查

12、询图书编号确定图书,进而删除图书。 程序: Delete C语言课程设计报告 FILE *i, *o; struct Book b; char s40; printf (你需要图书编号. 如果你没有,你可以通过查询功能获得.nt1.拥有图书编号t2.查询图书编号n); if (Choose(2) = 2) Search; i = fopen(Book.txt, rb); o = fopen(tempBook.txt, wb); if (i = NULL | o = NULL) printf(File open error!n); exit(0); else int c = 0; printf(

13、请输入你想要删除的图书编号:n); scanf(%s, s); fread(&b, sizeof(struct Book), 1, i); while (feof(i) = 0) if (strcmp(s, b.ISBN) fwrite(&b, sizeof(struct Book), 1, o); else c = 1; fread(&b, sizeof(struct Book), 1, i); fclose(i); fclose(o); remove(book.txt); rename(tempbook.txt, book.txt); if (c) printf(删除成功.); else

14、printf(无效图书编号.); printf(t1.返回菜单t2.退出程序n); switch (Choose(2) case 1: menu; break; C语言课程设计报告 case 2: exit(0); return 0; C语言课程设计报告 开始 输入4 1 进入删除图书菜单 2 输入1或2? 1 输入1或2 2 输入要删除的图书编号 输入图书关键字 N 判断有效否? 显示相关图书或者没有发现图书 Y 1 删除成功 输入1或2? 1 输入1或2? 2 2 结束 4.2.5修改图书信息 函数的原型:void Modify 函数的功能:通过图书编号或者查询图书编号确定图书,进而修改图

15、书。 程序: Modify C语言课程设计报告 FILE *i, *o; struct Book b, t; char s40; printf (你需要图书编号. 如果你没有, 你可以通过查询功能获得.nt1.拥有图书编号t2.查询图书编号n); if (Choose(2) = 2) Search; i = fopen(Book.txt, rb); o = fopen(tempBook.txt, wb); if (i = NULL | o = NULL) printf(File open error!n); exit(0); else int c = 0; printf(请输入你想修改的图书编

16、号:n); scanf(%s, s); printf (请输入图书信息,分类标签:n图书编号 图书名称 作者 图书类型 出版社 出版日期 图书价格n); scanf(%s%s%s%s%s%s%f, t.ISBN, t.Name, t.Author, t.Type, t.Pub, t.Date, &t.Price); fread(&b, sizeof(struct Book), 1, i); while (feof(i) = 0) if (strcmp(s, b.ISBN) = 0) c = 1; b = t; fwrite(&b, sizeof(struct Book), 1, o); fre

17、ad(&b, sizeof(struct Book), 1, i); fclose(i); fclose(o); remove(book.txt); rename(tempbook.txt, book.txt); if (c) printf(修改成功.); else C语言课程设计报告 printf(无效图书编号.); printf(t1.返回菜单t2.退出程序n); switch (Choose(2) case 1: menu; break; case 2: exit(0); return 0; C语言课程设计报告 开始 输入5 1 进入修改图书菜单 2 输入1或2? 1 输入1或2 2 输入要修改的图书编号 输入图书关键字 输入图书信息 显示相关图书或者没有发现图书 N 判断有效否? 1 Y 修改成功 2 1 输入1或2? 输入1或2? 2 结束 C语言课程设计报告 5. 系统运行 C语言课程设计报告 C语言课程设计报告 C语言课程设计报告 6. 总结

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号