下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第1页 共22页,案例十 简单图书管理系统,本案例知识要点 对象数组的使用 文件操作 函数的重载 类的设计和使用,第2页 共22页,一、案例需求,案例描述 制作一个简易的图书管理系统,实现新书录入、图书资料查询、显示所有图书信息等功能。通过这个案例可以系统地了解类以及文件的输入输出流。 案例效果图 简单图书管理系统案例效果如图所示。,第3页 共22页,图书管理案例效果图,第4页 共22页,功能说明 图书资料(书名、作者)的录入和存储。 图书资料的按书名查询。 显示图书库存信息。,第5页 共22页,二、案例分析,根据案例需求,可以定义一个图书类,图书的基本信息有书名和作者(其实还可以添加很多其他
2、信息,例如出版社、价格等,这里只选用最重要的两条信息为代表)。对图书的管理包括设置书名、设置作者名、查询书名等功能,这些功能需要调用图书类的成员函数实现。 由于需要对图书资料进行读入和存储,在程序中需要文件的输入输出操作。先从相应的文件中读入图书资料,用户在对资料进行处理后,在退出系统时将已修改的资料重新存储到原文件中。,第6页 共22页,三、案例设计,类的设计 Book类的设计如图所示。,Book类图,第7页 共22页,数据成员 char nameStrNum; 用来存放书名。 char writerStrNum; 用来存放作者姓名。 函数成员 Book(); 无参构造函数,用于为书名和作者
3、姓名设置默认值。 Book(const char *Name,const char *Writer) 带参构造函数,按照入口参数设置书名和作者姓名。 char *get_name(); 用于获取书名。 char *get_writer(); 用于获取作者姓名。 void changeName(const char *newName); 用于设置书名。 void changeWriter(const char *newWriter); 用于设置作者姓名。 int cmpName(const char *Name); 用于比较查询词和书名,如果相等则返回“1”。,第8页 共22页,主程序设计 函数
4、的设计 void showBook(Book book) 用于输出一册图书的书名。 void showAll(Book *book,int Num) 用于输出Num册图书的书名。 主函数的设计 在主函数中创建了一个Book类的对象数组,对图书资料的操作都将通过该类所创建对象的函数成员完成。 在主函数中通过调用两个函数showBook()和showAll()实现图书资料的显示功能。,第9页 共22页,主程序流程图,第10页 共22页,四、案例实现,第11页 共22页,第12页 共22页,第13页 共22页,第14页 共22页,第15页 共22页,第16页 共22页,第17页 共22页,第18页
5、共22页,第19页 共22页,第20页 共22页,第21页 共22页,五、案例总结与提高,案例总结 本案例只是完成了图书管理系统中的一部分基础功能,需求相对简单,采用数组和链表也可以实现。案例涉及到了对象数组及文件的操作,这些知识点并不难理解,读者需要注意的是类结构的设计。除此以外,读者还需要注意以下几点: C+是一门过程语言,无法在源程序中实现数据的存储,必须将数据存储在外部文件中,在必要时可以读入和输出。 在不使用文件时要及时关闭,且文件的打开和关闭都要作异常处理。,第22页 共22页,案例提高 本案例只是完成了图书管理系统中的一部分基础功能,还有很多功能没有实现,可以在以下方面继续完善本案例: 增加图书信息,例如出版社、价格、摘要等。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026汉江实验室三亚研究中心(三亚深海科学与工程研究所)招聘20人备考题库附参考答案详解(能力提升)
- 2026北京城市副中心投资建设集团有限公司春季校园招聘25人备考题库(突破训练)附答案详解
- 2026河北雄安交通投资有限公司校园招聘2人备考题库及答案详解(有一套)
- 2026广东省第三荣军优抚医院招聘1人备考题库【名师系列】附答案详解
- 2026深圳能源春季校园招聘备考题库及参考答案详解(研优卷)
- 2026福建莆田城厢法院招聘3人备考题库及答案详解【网校专用】
- 2026浙江衢州市教育局“南孔学地教职等你”硕博专场招聘56人备考题库附完整答案详解【考点梳理】
- 2026江苏南京大学SZYJ20260014生物医学工程学院招聘备考题库附参考答案详解【综合卷】
- 2026浙江嘉兴市启禾社会工作公益发展中心招聘备考题库附答案详解【b卷】
- 2026河南安阳高新区就业见习单位及就业见习岗位招募备考题库附完整答案详解(有一套)
- 中小学教师绩效工资分配激励研究-基于 2024 年中小学教师绩效工资实施办法
- 2026春统编版一年级下册语文第二单元测试卷及答案
- 智能驾驶专题之四:2026智驾展望:向上升阶与向下平权的双轨渗透
- 2026年宝山区国有(集体)企业招聘笔试参考题库附带答案详解
- 2026复工复产安全培训第9版
- 《TCSUS69-2024智慧水务技术标准》
- 经皮肾镜碎石术并发脓毒血症的风险与防治
- 消防燃烧学课件
- 01文字飞机场勘察报告
- 四年级上册英语课件-Unit4 How is the weather today?Lesson 23 人教精通版(共16张PPT)
- 1到5的分解与组成(课堂PPT)
评论
0/150
提交评论