案例十简单图书管理系统.ppt_第1页
案例十简单图书管理系统.ppt_第2页
案例十简单图书管理系统.ppt_第3页
案例十简单图书管理系统.ppt_第4页
案例十简单图书管理系统.ppt_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1页 共22页,案例十 简单图书管理系统,本案例知识要点 对象数组的使用 文件操作 函数的重载 类的设计和使用,第2页 共22页,一、案例需求,案例描述 制作一个简易的图书管理系统,实现新书录入、图书资料查询、显示所有图书信息等功能。通过这个案例可以系统地了解类以及文件的输入输出流。 案例效果图 简单图书管理系统案例效果如图所示。,第3页 共22页,图书管理案例效果图,第4页 共22页,功能说明 图书资料(书名、作者)的录入和存储。 图书资料的按书名查询。 显示图书库存信息。,第5页 共22页,二、案例分析,根据案例需求,可以定义一个图书类,图书的基本信息有书名和作者(其实还可以添加很多其他信息,例如出版社、价格等,这里只选用最重要的两条信息为代表)。对图书的管理包括设置书名、设置作者名、查询书名等功能,这些功能需要调用图书类的成员函数实现。 由于需要对图书资料进行读入和存储,在程序中需要文件的输入输出操作。先从相应的文件中读入图书资料,用户在对资料进行处理后,在退出系统时将已修改的资料重新存储到原文件中。,第6页 共22页,三、案例设计,类的设计 Book类的设计如图所示。,Book类图,第7页 共22页,数据成员 char nameStrNum; 用来存放书名。 char writerStrNum; 用来存放作者姓名。 函数成员 Book(); 无参构造函数,用于为书名和作者姓名设置默认值。 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页,主程序设计 函数的设计 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页 共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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论