




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1. 题目要求图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等,试设计一图书管理系统,使之能提供以下功能:(1) 新图书基本信息的输入。(2) 图书基本信息的查询。(3) 对撤销图书信息的删除。(4) 办理借书的手续。(5)办理还书的手续。2. 需求分析这是一个能简单管理图书的小型图书管理系统,其中图书信息包括:书名,作者名,书编号,分类,出版社,价格等。通过这些信息使之提供以下功能:(1) 图书信息的创建功能。其中图书信息包括:书名,作者名,书编号,分类,出版社,价格等。(图书信息用文件保存)(2) 图书信息查看功能。用来查看各项图书信息。(3) 图书信息
2、查找功能。通过已知信息来查找想要的图书。(4) 图书信息的删除。可以删除指定图书。(5) 图书信息的修改。可以修改图书的各项信息。(6) 菜单选择功能,次功能也是图书信息管理系统的入口,用户所要进行的各种操作均需要在此模块中进行选择并进行调用其他模块实现相应的功能。3. 总体设计(1) 数据结构图书管理系统中主要的数据结构包含书名、图书书号、作者名、分类、出版社、出版时间、价格等;在处理过程中各项可以作为一本图书的不同属性来进行处理。struct Book /*定义结构体数组*/char ISBN14; /编号char Name20; /名称char Author20; /作者char Typ
3、e10; /类型char Pub20; /出版社char Date10; /出版日期float Price; /价格;(2) 模块分化本系统主要有添加图书、查找图书、搜索图书、删除图书、修改图书几个基本功能。函数声明:int Choose(); /选择int Add(); /添加图书int View(); /查找图书int Search(); /搜索图书int Delete(); /删除图书int Modify(); /修改图书int menu(); /返回系统4. 详细设计流程图:开始主菜单输入退出系统修改图书删除图书查找日期查找编号查找作者查找书名查找查看图书添加图书4.1主函数函数的原型
4、: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);return 0;Choose(int limit)int n = 0;whi
5、le (n limit)printf(选择一个项目:);scanf(%d, &n);getchar();return n;显示菜单的的一系列功能选项输入n,判断n是否是16?调用与n相应的模块YN结束开始4.2各功能模块设计添加图书信息:函数原型:void Add()函数的功能:记录图书的各项信息程序:Add()FILE *f;struct Book b;f = fopen(Book.txt, ab);if (f = NULL)printf(File open error!n);exit(0);else Add:printf(请输入图书信息,分类标签:n图书编号 图书名称 作者 图书类型 出版
6、社 出版日期 图书价格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;case 2:fclose(f);menu();break;return 0;开始进入添加图书菜单输入输入1或21退出程序2输入图书信息添加成功查看图书信息函数的原型:void View()函数的功能
7、:查看图书书编号,书名,作者名,类型,出版社,出版日期,价格。程序:View()FILE *f;struct Book b;f = fopen(Book.txt, rb);if (f = NULL)printf(File open error!n);exit(0);elsefread(&b, sizeof(struct Book), 1, f);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
8、(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或22退出程序1搜索图书函数的原型:void Search()函数的功能:通过书编号,书名,作者名,类型,出版社,出版日期查找图书。程序:Search()FILE *f;struct Book b;char s40;int i = 0;f = fopen(Book.txt, rb);if (f = NULL)printf(Fi
9、le open error!n);exit(0);elseprintf(请输入图书关键词查询:);scanf(%s, s);fread(&b, sizeof(struct Book), 1, f);while (feof(f) = 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
10、.ISBN, b.Name, b.Author, b.Type, b.Pub, b.Date, b.Price);i+;break;fread(&b, sizeof(struct Book), 1, f);fclose(f);if (i = 0)printf(没有发现图书信息!);elseprintf(%d 发现信息, i);printf(n完成.t1.返回菜单t2.退出程序n);switch (Choose(2)case 1:menu();break;case 2:exit(0);return 0;进入搜索图书菜单输入关键字,搜索是否有相关字?显示相关书籍13YN输入3输入1或221输入1或
11、2退出程序12结束开始删除图书函数的原型:void Delete()函数的功能:通过图书编号或者查询图书编号确定图书,进而删除图书。程序:Delete()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);exi
12、t(0);elseint c = 0;printf(请输入你想要删除的图书编号: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);elsec = 1;fread(&b, sizeof(struct Book), 1, i);fclose(i);fclose(o);remove(book.txt);rename(tempbook.txt, book.txt);if (c)printf(删
13、除成功.);elseprintf(无效图书编号.);printf(t1.返回菜单t2.退出程序n);switch (Choose(2)case 1:menu();break;case 2:exit(0);return 0;开始输入4进入删除图书菜单输入1或212输入要删除的图书编号3判断有效否?NY删除成功3输入1或2?输入1或2?结束1212输入图书关键字3输入1或2?21显示相关图书或者没有发现图书3修改图书信息函数的原型:void Modify()函数的功能:通过图书编号或者查询图书编号确定图书,进而修改图书。程序:Modify()FILE *i, *o;struct Book b, t
14、;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);elseint c = 0;printf(请输入你想修改的图书编号:n);scanf(%s, s);printf(请输入图书信息,分类标签:n图书编号 图书名称 作者 图书类型 出版社 出版日
15、期 图书价格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);fread(&b, sizeof(struct Book), 1, i);fclose(i);fclose(o);remove(book.txt);rename(tempbook.txt, book.txt
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中小学教师信息技术应用能力提升工程试题及答案
- 浙江省嘉兴市2026届高三上学期9月基础测试语文试题(含答案)
- 烹饪营养与卫生(第3版)-课件 11.项目三任务八.科学烹饪的意义
- 应对课件教学课件
- 2025全民国防教育日主题班会课件
- 巡察问题底稿课件教学
- 岩石学三大岩类课件
- 输电安全培训新闻稿课件
- 小鸭课件教学课件
- 养殖场动物养殖场安全生产与应急预案合同范本
- 入职申请登记表(模板)
- GB/T 43698-2024网络安全技术软件供应链安全要求
- 婴幼儿心理学
- 医疗保障基金使用监督管理条例
- MOOC 成长中的音乐徜徉-浙江师范大学 中国大学慕课答案
- 妇产科学妇科病史及妇科检查
- 人工智能在语言学习中的应用
- 军港之夜混声合唱谱
- 保险杠喷涂工艺
- 鳃裂囊肿护理查房课件
- 能源托管服务投标方案(技术方案)
评论
0/150
提交评论