Skip to content

huange888/CppEducationSystem

Repository files navigation

CPP

此为杜茂康专属的重庆邮电大学期末大作业,可借鉴,不可抄袭。抄袭者杜茂康按照零分处理! c++教务系统 面向对象程序设计过程考核题目 过程考核内容:涉及面向对象编程的抽象与封装、继承、多态、STL程序库应用等方面。 考核目的:加强对本课程基本概念的理解,切实应用面向对象程序思维解决现实问题,提高面对象程序设计和编程实践能力。 成绩计算:占本课程总成绩20%。

提交时期:截止第17周末

题目:编程实现扩展后的第4章第11题 原题目为: 11. 一个教学系统至少有学生和教师两种类型的人员,假设教师的数据有教师编号、姓名、年龄、性别、职称和系别,学生的数据有学号、姓名、年龄、性别、班级和语文、数学、英语三门课程的成绩。编程完成学生和教师档案数据的输入和显示。要求如下: 设计三个类Person、Teacher、Student,Person是Teacher和Student的基类,具有此二类共有的数据成员姓名、年龄、性别,并具有输入和显示这些数据的成员函数;Teacher类继承了Person类的功能,并增加对教师编号、职称和系别等数据成员进行输入和显示的成员函数。按同样的方法完善Student类的设计。 对本题目进行以下扩展: (1)在Person的派生类中增加学生(Student)类人员,教师分为普通教师(Teacher)、院长(Chancellor)和系主任(Dean)三类。所有教师都有基本工资(salary),普通教师的总收入income由基本工资和课时费构成。一个教师要管理若干学生,而一个学生只有一位教师作导师; (2)院长和系主任都从普通教师中产生,院长的总收入由年薪和基本工资构成,系主任的总收入由基本工资和每有绩效构成。他们每年须完成指定课时的教学任务,但不计课时报酬。 (3)上述各类人员的基本关系如图1所示。

图1 基本要求: 1、分析题目要求,提出解题思路。 2、抽象出各类的数据成员和成员函数,完善图1中各类的设计,设计出各类的数据成员和成员函数,要考虑对象的赋值复制和复制构造。 3、各类中的inputData、outData、getSalary\setSalary、getIncome为虚函数,要求能够以Person为接口访问各类的inputData\outData虚函数,实现多态。 4、友元重载各类对象的输出运算符(operator<<),能够通过cout直接输出各对象的相应信息,输出信息与各类的outData成员函数的输出相同。 5、用STL中的vector或list管理Person对象指针或引用,管理继承体系中的对象,实现体现多态编程特征。同类对象可以按年龄排序。 6、用STL中的vector、list、set、map等容器(选择其中的一类或几类)实现5名教师,5名学生,2名系主任,1名院长的信息管理,包括数据输入、输出、查询、删除,以及导师指导的学生信息管理(如增加、删除、查询指导的学生)和学生的导师信息管理(如增加、删除、查询、更改导师信息等)。

本题目的主要目的: (1)学习掌握应用面向对象的思维方法分析现实问题,能够将现实问题抽象成面向对象的计算机描述方法。 (2)掌握继承体结构的抽象和设计方法。 (3)理解多态技术解决现实问题的超强能力,掌握多态编程技术。 (4)掌握对象之间不同关系的程序解决方法。 (5)掌握应用STL的vector和迭代器存取自定义类对象的方法。

About

c++教务系统

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages