c++语言简明教程 教学课件 作者 吴延海_第8章.ppt

c++语言简明教程 教学课件 作者 吴延海_第8章.ppt

ID:50350252

大小:760.00 KB

页数:259页

时间:2020-03-08

c++语言简明教程 教学课件 作者 吴延海_第8章.ppt_第1页
c++语言简明教程 教学课件 作者 吴延海_第8章.ppt_第2页
c++语言简明教程 教学课件 作者 吴延海_第8章.ppt_第3页
c++语言简明教程 教学课件 作者 吴延海_第8章.ppt_第4页
c++语言简明教程 教学课件 作者 吴延海_第8章.ppt_第5页
资源描述:

《c++语言简明教程 教学课件 作者 吴延海_第8章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第8章学籍管理系统8.1系统设计思路8.2链表存储基类设计8.3学生派生类节点8.4班级派生类节点8.5翻页显示工具栏8.6菜单与输入控制8.7功能集成与系统测试本章小结为了增加读者对面向对象技术的理解,本章通过开发一个基于控制台的管理系统,以编程实践来加深对C++基本语法和面向对象基本概念的理解。本章将把学籍管理系统完整开发过程分解为多个子模块,逐步开发测试,最终集成。以详尽的代码和注解,来讲解面向对象技术在开发管理系统中的应用技巧。学籍管理系统功能的基本需求如下:(1)每个学生必须记录以下信息:   序号(

2、Index),班级(Classes),学号(Num),姓名(Name),年龄(Age),性别(Sex),数学成绩(mathScore),英语成绩(engScore)。(2)每个班级记录以下信息:   班级名称(Classes),最大人数(MaxCount)。(3)可以创建班级,并可以录入班级信息,可以删除班级。(4)可以浏览班级信息列表,也可以选择某班级,进行学生的添加、删除、查询等   操作。(5)可以提供全局统计功能,统计总共有多少班级、每个班级有多少人。(6)可以提供某个班级或全部班级的全部学生的信息列表

3、,当学生比较多时,可以提供翻页(第一页、上一页、下一页、最后一页)显示功能。(7)统计时支持单科最高分的统计。(8)统计时支持总分最高分的统计。(9)统计时支持每个班级单科成绩的优(90~100分)、良(80~89分)、中(70~79分)、差(60~69分)、不及格(0~59分)五个等级百分比统计。   经过以上9条需求的分析,基本可以满足一个小型学校的学生学籍管理,由于篇幅所限,不可能提供全部科目成绩管理,仅以数学和英语两个成绩为代表。以上需求分析把学籍管理系统分为几个模块,每个模块独立设计、实现和测试,最终

4、集成调试运行。对于初学者来说,面对学籍管理系统的需求分析一般都会感到系统庞大、功能繁多、无从下手。即使有一般编程经验的读者也很难一次性设计好全部功能结构和代码编写,也无法按照软件工程理论中自上而下的模式(从总体方案到详细设计各个方面)来全面设计。8.1系统设计思路因此本章采用自下而上的模式,将系统划分为多个功能模块,逐个实现功能测试,最终所有模块编写测试完,程序也基本上开发完毕。这中间需要注意的一个原则是,尽可能将各个模块之间的功能解耦(相互独立),将功能划分好后封装到相应的类中。根据分析可以将该管理系统分解为

5、以下几个模块:(1)双向链表存储管理基类;(2)学生派生类节点;(3)班级派生类节点;(4)翻页显示工具栏;(5)菜单与输入控制。链表是数据结构中最为常用的,可以没有限制地增加节点到链表上,每个节点都是一个独立的数据封装体(结构体或类对象)。本设计的基础就是将链表以面向对象方式封装为基类。后续的其他模块都可以从它派生,继承其基本的节点管理能力。8.2链表存储基类设计8.2.1基类节点定义链表的核心就是节点,节点的封装需要有上一个和下一个节点的指针,方便在遍历整个链表时使用。本设计采用双向链表结构。//链表节点类

6、封装classCLinkNode{protected:CLinkNode*m_NextNode;//下一个节点指针CLinkNode*m_PriorNode;//前一个节点指针friendclassCLinkStorage;//链表存储管理类的友元类声明public:/*功能描述:链表节点类构造函数   参数描述:@paramNext:下一个节点   参数描述:@paramPrior:前一个节点*/CLinkNode(CLinkNode*Next=NULL,CLinkNode*Prior=NULL);/*功能描

7、述:链表节点类析构函数*/~CLinkNode();/*功能描述:返回后一个节点*/CLinkNode*next();/*功能描述:返回前一个节点*/CLinkNode*prior();};8.2.2基类节点实现基类节点实现了最简单的双向链表节点的数据结构的封装。实现了first(返回第一个节点)函数,last(返回最后一个节点)函数,next(返回下一个节点)函数和prior(返回前一个节点)函数。#include#include#include"CLinkBase

8、.h"//链表节点类构造函数CLinkNode::CLinkNode(CLinkNode*Next,CLinkNode*Prior):m_NextNode(Next),m_PriorNode(Prior){}//链表节点类析构函数CLinkNode::~CLinkNode(){}//返回后一个节点CLinkNode*CLinkNode::next(){returnm_NextNode;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。