1、C+面向对象程序设计面向对象程序设计(第二第二版版)-第十章第十章 项目设计项目设计校校园信息管理系统园信息管理系统C+面向对象程序设计(第二版)第十章 项目设计校园信息管理系统23 五月 2024C+面向对象程序设计第十章 项目设计校园信息管理系统 t10.1 系统分析与设计t10.2 程序设计分析 t10.3 源程序及说明t10.4 运行结果与分析结果23 五月 2024C+面向对象程序设计10.1 系统分析与设计t校园信息管理系统由程序界面、数据管理和数据分析这三个部分组成。l程序界面采用命令驱动的方式 l数据管理也就是对存放在系统中的数据进行组织和保存,还要求能够对数据进行添加和删除
2、l对数据信息进行分析 23 五月 2024C+面向对象程序设计10.2 程序设计分析t在校园信息管理系统中,全部的数据信息是以person、student及teacher类实例的形式存放的,person、student及teacher类也提供了数据信息的输入输出和存储功能,类设计如下:23 五月 2024C+面向对象程序设计人员信息person类:定义定义数据类型数据类型描述描述namechar数组学生姓名sexchar数组学生性别addresschar数组学生家庭住址birthdaydate(自定义结构)出生日期typeptype(自定义枚举类型)当前实例类型,student还是teache
3、rShow虚成员函数输出当前实例信息Read虚成员函数输入实例信息Save虚成员函数将实例存入文件Load虚成员函数将实例从文件读入23 五月 2024C+面向对象程序设计学生类student和教师类teacher由person类派生而来:定义定义数据类型数据类型描述描述sclasschar数组学生所在班级majorchar数组所学专业coursescourse数组(自定义结构)所学课程sregisterdate(自定义结构)入学日期Show成员函数输出当前实例信息Read成员函数输入实例信息Save成员函数将实例存入文件Load成员函数将实例从文件读入student类23 五月 2024C+
4、面向对象程序设计teacher类定义定义数据类型数据类型描述描述coursescourse数组(自定义结构)所教课程tregisterdate(自定义结构)到校日期Show成员函数输出当前实例信息Read成员函数输入实例信息Save成员函数将实例存入文件Load成员函数将实例从文件读入23 五月 2024C+面向对象程序设计程序中每个命令所对应的功能和调用到的函数:命令命令对应函数对应函数功能描述功能描述inputinputCMD输入数据outputoutputCMD输出数据savesaveCMD将数据写入文件loadloadCMD将数据从文件读入analyzeanalyzeCMD分析数据ex
5、itexitCMD退出系统helphelpCMD显示帮助信息23 五月 2024C+面向对象程序设计10.3 源程序及说明tperson、student和teacher三个类的实现 lperson.h/person.cpplstudent.h/student.cpplteacher.h/teacher.cppt命令调用及对象实例管理部分代码 lmain.h/main.cpp23 五月 2024C+面向对象程序设计10.4 运行结果与分析程序运行时主操作界面如下:23 五月 2024C+面向对象程序设计“input”命令在用于往系统中添加人员信息,包括教师和学生 23 五月 2024C+面向对象程序设计“output”命令用于输出当前系统中存有的全部人员信息 23 五月 2024C+面向对象程序设计“analyze”命令,用于对当前系统中的数据做简单统计 23 五月 2024C+面向对象程序设计“save”和“load”命令用于将系统中的数据写入文件 23 五月 2024C+面向对象程序设计“exit”命令用于退出当前系统