




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
图书管理系统一、1.设计题目:图书管理系统2.实现功能:a.创建图书信息:输入图书信息,创建新的图书 b.查询图书信息:能够根据书名、出版号、作者等查询图书信息 c.修改图书信息:能根据书号书名来修改图书信息d.删除图书信息:能根据书名,书号删除图书信息二、3.总体设计机构 一个Book类和main()方法4.详细设计Book类中的方法实现了对图书信息的创建,查询,修改和删除;main()方法中实现了一些输入输出功能还有对Book类中方法的调用和组合,以实现更多的功能。5.调试及问题的解决 在调试的过程中出现不少的问题,不过基本都比较好解决,最让我郁闷的是一个问题,编译可以通过,也可以生成exe文件,可是在实现某些功能(查询、修改和删除图书信息时若不存在该图书则输出提示语)时程序总会自动结束,调试得出理由是“读取位置0x00000000 时发生访问冲突”,我在这个问题前前后后花了半个多小时,最后发现是数组的下标越界问题,让我很是郁闷纠结无语。6.输出界面系统的开始界面a. 选择“添加新书”后的界面通过用户的输入信息后:b. 选择“图书查询”后的界面(1)如果输入的是书库里已经有的图书:输入书名: 输入作者名:输入出版号:(2)如果输入的是书库没有的图书信息:C.选择“修改图书”后的界面:(1) 输入书库中存在的图书:输入书名:(进行到这里若是选择“是”的话将会重新返回修改,直到没错误信息为止)输入书号:(2)若输入书库不存在的图书信息d.选择“删除图书”后的界面:要是选择删除的书不在书库:三、心得体会:最大的体会就是做事如果仔细认真一点的话就会节省很多的时间和精力,细节决定成败,以后做事一定一定要仔细认真。以后要加强对C+的学习,使自己对这门语言掌握的更好。四、源代码(含注释)#include#include#includeusing namespace std;bool bo; /用于判断所要查询,修改,删除的书是否存在。class Bookprivate:string num; /书号int ceshu; /册数double price; /价格string name; /书名string author; /作者string chubanhao; /出版号string kind; /种类string time; /出版年月bool boo; /用于判断是否要再次修改图书信息public:Book();/*无参构造函数*/*有参构造函数*/Book(string num1,string name1,string a,string k,string cbh,string t,double p,int cs)num = num1;name = name1;author = a; kind = k;chubanhao = cbh;time = t;price = p;ceshu = cs;string getNum() return num; /*获得书号*/int getCeshu() return ceshu; /*获得册数*/double getPrice() return price; /*获得售价*/string getName() return name; /*获得书名*/string getAuthor() return author; /*获得作者名*/string getChubanhao()return chubanhao;/*获得出版号*/string getTime() return time; /*获得出版年月*/string getKind() return kind; /*获得图书种类*/void setNum(string n) num = n; /*设置书号*/void setCeshu(int c) ceshu = c; /*设置册数*/void setPrice(double p) price = p; /*设置售价*/void setName(string n) name = n; /*设置书名*/void setAuthor(string a)author = a; /*设置作者名*/void setChubanhao(string c)chubanhao = c; /*设置出版号*/void setTime(string t) time = t; /*设置出版年月*/void setKind(string k)kind = k; /*设置图书种类*/*创建一本新的图书,输入图书的各种信息*/void setBookMessage() cout现在入库一本新书,请完善以下资料endl;cout*设置新书*endl;string shu; coutshu;name = shu; string z; coutz; author = z;string n; coutn;num = n;int ce; coutce;ceshu = ce; string lei; coutlei;kind = lei;string cb; coutcb;chubanhao = cb;string ti; coutti;time = ti;double sj; coutsj;price = sj;cout*endl;cout新书添加成功!endl;/*用于显示图书的具体信息*/void display()cout显示图书的具体信息如下:endl;cout=显示信息=endl;cout书号:numendl;cout书名:nameendl;cout作者:authorendl;cout册数:ceshuendl;cout类别:kindendl;cout出版号:chubanhaoendl;cout出版年月:timeendl;cout售价:price元 endl;cout=endl;bo = false; /*显示图书的具体信息,若用户发现图书的信息有误,可以改正,并且可以多次重复修改,直到满意为止。*/ void showBookMessage() boo = false;int b;display();changeBookMessage(); coutb;if(b=1)boo = true; while(boo)int c;changeBookMessage(); coutc;if(c=2)boo = false; /*该方法用于修改图书的各项信息,并且可以显示修改后的信息和修改前的对比*/void changeBookMessage()int a;cout请选择要修改的信息endl;cout1:书号 2:书名 3:作者 4:册数 5:类别 6:出版号 endl7:出版年月 8:售价a;switch (a) case 1 :string n; coutn;num = n; break; case 2 :string s1; couts1;name = s1;break;case 3 :string z; coutz;author = z;break;case 4 :int ce; coutce;ceshu = ce;break;case 5 :string lei; coutlei;kind = lei;break;case 6 :string cb; coutcb;chubanhao = cb;break;case 7 :string ti; coutti;time = ti;break;case 8 :int sj; coutsj;price = sj;break;default:cout输入错误!endl;exit(0); int y;cout信息修改成功!endl是否显示修改后的信息? 0:是 1:否y;if(y=0)display(); void findBook_name(string n) /通过图书的名字来查询图书信息if(name=n) display();void findBook_chubanhao(string c) /通过图书的出版号来查询图书信息if(chubanhao=c) display();void findBook_Author(string a) /通过图书的作者来查询图书信息 if(author = a) display();void findBook_Num(string n) /通过图书的书号来查询图书的信息if(num=n) display();void changeBook_Num(string a) /通过图书的书号来修改图书信息if(a=num)showBookMessage();void changeBook_Name(string s) /通过图书的名字来修改图书信息if(s=name)showBookMessage();void delBook_Name(string n) /通过图书的名字来删除图书 findBook_name(n);if(bo)elseint v;coutv;if(v=1) num = 无;name = 无;author = 无; kind = 无;chubanhao = 无;time = 无;price = 0;ceshu = 0;cout图书删除成功!endl;exit(0);elsecout取消删除!endl;exit(0);void delBook_Num(string n) /通过图书的书号来删除图书 findBook_Num(n);if(bo)elseint v;coutv;if(v=1) num = 无;name = 无;author = 无; kind = 无;chubanhao = 无;time = 无;price = 0;ceshu = 0;cout图书删除成功!endl;elsecout取消删除!endl;int main()/*实例化一些对象来作为数据基础*/Book b1(1001,C+语言程序设计,郑莉,本科生,ISBN 978-7-302-22798-4,2010年月,48.00,1000);Book b2(1002,线性代数,同济大学数学系,本科生,ISBN978-7-04-021218,2011年月,15.10,1000);Book b3(1003,计算机网络,谢析仁,本科生,ISBN 978-7-121-05386-3,2012年月,35.00,1000);Book b4(1004,大学语文,熊开发,本科生,ISBN 978-7-5087-3291-6,2010年月,36.00,1000);Book b5(1005,高等数学,王强,本科生,ISBN 978-7-04-021277-8,2011年月,29.4,1000);Book book5=b1,b2,b3,b4,b5; /创建对象数组int x;cout欢迎进入图书管理系统,请选择您要进行的操作endl;cout1:添加新书 2:图书查询 3:修改图书 4:删除图书endl;coutx;switch (x)case 1:Book o; o.setBookMessage(); break;case 2:bo = true; string nn; coutnn; for(int i= 0;i5;i+) booki.findBook_Author(nn); booki.findBook_chubanhao(nn); booki.findBook_name(nn); if(bo) cout书库中不存在这本书!endl; break;case 3:bo = true; string aa; coutaa; for(int i= 0;i5;i+) booki.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国广电鹤壁市2025秋招笔试行测题库及答案供应链采购类
- 中国广电黄冈市2025秋招财务审计类专业追问清单及参考回答
- 国家能源宜昌市2025秋招面试专业追问及参考化学工程岗位
- 国家能源拉萨市2025秋招笔试资料分析题专练及答案
- 大唐电力亳州市2025秋招面试专业追问及参考机械工程岗位
- 珠海市中石化2025秋招笔试模拟题含答案油气储运与管道岗
- 2025年甲亢用药考试题及答案
- 德宏自治州中储粮2025秋招质检化验岗高频笔试题库含答案
- 中国广电珠海市2025秋招笔试行测题库及答案网络优化与维护类
- 亳州市中储粮2025秋招面试典型题目及答案
- 2025-2030儿童心理健康服务市场需求分析与行业趋势及发展策略报告
- 人工智能+新能源设备研发应用分析报告
- 公路施工汇报材料
- 对银行消防培训课件
- 有害物质管理培训课件
- GB/T 33363-2016预应力热镀锌钢绞线
- GB/T 23510-2009车用燃料甲醇
- 实用英语口语900句
- 食品安全事故流行病学个案调查表
- 风机运行记录表
- 2021新高考语文Ⅰ卷现代文阅读Ⅱ小说《石门阵》赏析及试题详细解析
评论
0/150
提交评论