第10章 综合案例-【千锋教育】C++语言程序设计

2023-03-21
| 51页
| 129人阅读
| 0人下载
教辅

内容正文:

需求法分析 程序设计 第10章 综合案例 代码实现 效果演示 1 理解面向对象程序设计思想 掌握程序的流程控制 掌握类的封装和设计 掌握文件的基本操作 学 习 目 标 LEARNING OBJECTIVES 初心至善 匠心育人 需求分析 程序设计 代码实现 效果演示 01 02 04 03 目 录 CATALOUGUE 初心至善 匠心育人 通过前面的学习,相信读者已掌握了C++语言基础知识,为了提高读者的动手能力,本章将回顾一下所学知识,设计一个图书管理系统。 初心至善 匠心育人 4 随着人类知识的进步,图书馆的规模不断扩大,图书数量也相应增加,但一些图书馆的工作还是手工完成,不便于动态地调整图书结构。为了更好地适应图书馆的管理需求,读者可以用C++语言开发一款图书管理系统。 本图书管理系统是针对图书管理员对图书信息进行综合管理的系统,具体功能如下所示: ①登录系统。管理员进入图书管理系统的登录界面进行登录。 ②显示图书。管理员可以显示所有的图书信息。 ③查询图书。管理员可以按ISBN号、书名、作者等对图书进行查询。 ④图书排序。管理员可以按价格、数量等对图书进行排序。 ⑤增加图书。管理员可以按需求增加图书。 ⑥减少图书。管理员可以按需求减少图书。 10.1 需求分析 初心至善 匠心育人 5 ⑦修改图书。管理员可以对图书信息进行修改。 ⑧插入图书。管理员可以向指定位置处插入图书。 ⑨保存操作。管理员可以将所做的操作应用于图书库。 ⑩退出系统。管理员可以退出图书管理系统。 以上是对整个图书管理系统的简要概述,为方便读者理解整个图书系统的功能,可以参考下图。 10.1 需求分析 初心至善 匠心育人 6 对图书管理系统功能有了初步了解后,接下来就需要根据系统各个模块的功能进行类和数据结构的设计。本图书管理系统中涉及到的类有book类、bookList类、admin类、library类。本图书管理系统将采用单向链表来管理对图书信息的操作。下面分别介绍每个类的成员信息。 1.Book类 Book类提供图书的基本信息,具体如下所示: 10.2 程序设计 初心至善 匠心育人 7 Book类声明在book.h头文件中,其中BookList类和Admin类为Book类的友元类,它们可以访问Book类中的私有数据。此外,在book.h头文件中还定义了若干符号常量,具体如下所示: 10.2 程序设计 下面对图书进行查询或排序时,会使用到这里的符号常量。 初心至善 匠心育人 8 2. BookList类 BookList类通过链表的一些操作来实现图书的管理,具体如下所示: 10.2 程序设计 初心至善 匠心育人 9 BookLlist类声明在bookList.h头文件中,其中两个静态数据成员分别指向链表的头部和尾部,静态成员的初始化需要在类外实现,具体如下所示: 10.2 程序设计 链表中的每一个节点包含两个数据成员,其中m_book用于指向图书对象,m_pBookNext用于指向下一个结点,从而构成单向链表。此外,头文件中也定义了若干符号常量,具体如下所示: 初心至善 匠心育人 10 接下来分别介绍BookLlist类的每个成员函数。 1)BookList()函数 该函数为BookLlist类的构造函数,当创建一个BookLlist类的对象时,需要调用构造函数,此时就会产生一个链表节点,如果是第一次创建该类对象,则需要使链表的头尾指针都指向该节点,具体如下所示: 10.2 程序设计 第一个节点中的两个指针都为NULL,链表中的头尾指针均指向第一个节点,此时为一个空链表,此后创建的节点均可插入该链表中。 初心至善 匠心育人 11 2)AddBook()函数 该函数可以实现将图书添加到链表中的功能,加入的图书可以是从图书库文件中读取的图书,也可以是用户手动输入的图书。其中如果加入的图书是图书库文件中已存在的图书,这时只需将链表中原有的图书数量与需要加入图书的数量相加即可;如果加入的图书是图书库文件中不存在的图书,这时只需将图书信息所在的节点插入链表的尾节点即可,具体如下所示: 10.2 程序设计 初心至善 匠心育人 12 其中,OutputHead()函数用于输出图书信息描述,具体如下所示: 10.2 程序设计 初心至善 匠心育人 13 left表示设置输出的格式为左对齐,setw()表示设置输出的域宽。 InputBook()函数用于输入图书信息,具体如下所示: 10.2 程序设计 IsSameBook()函数用于判断图书是否与链表中某个节点中的图书相同。若相同,函数返回该节点;否则,函数返回NULL,具体如下所示: 初心至善 匠心育人 14 其中,IsSame()函数用于判断两种图书是否相同。若相同,函数返回true;否则,函数返回fals

资源预览图

第10章 综合案例-【千锋教育】C++语言程序设计
1
第10章 综合案例-【千锋教育】C++语言程序设计
2
第10章 综合案例-【千锋教育】C++语言程序设计
3
第10章 综合案例-【千锋教育】C++语言程序设计
4
第10章 综合案例-【千锋教育】C++语言程序设计
5
第10章 综合案例-【千锋教育】C++语言程序设计
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。