关于虚函数的作业中对学校信息管理系统的实现要求和编程要点

本文介绍了一个学校信息管理系统的实现方案,通过菜单引导用户选择显示教师、学生或职工信息,并使用虚函数实现多态性。系统设计包括基类人员类(person)及派生类教师(teacher)、学生(student)和职工(worker),并提供了错误输入提示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目:现有一个学校信息管理系统,在其中包含的信息有三方面,即教师、学生、职工。利用一个菜单来实现对它们的操作,要求使用虚函数。

1. 实现要求:

1)界面要求:

操作前显示一个菜单如下:

===================

         学校信息管理系统

===================

        1. 显示教师信息

        2. 显示学生信息

        3. 显示职工信息

        4. 显示随机人员信息

        0. 退出程序

由用户选择数字,程序显示出指定人员信息

随机人员是指随机指定一类人员

2)容错要求:对错误的用户输入要给予一定提示。只能是用户选择退出程序时才退出程序,1-4项功能执行完毕后要重新显示菜单开始下一轮操作。简单的控制台菜单技术在上课时已讲过,我的博客中将有文章有说明,点击我打开菜单技术相关文章

2. 编程要点(提示)

1)类的层次设计建议:可以从以上类型中抽象出一个基类人员类(person),教师(teacher)可以作为职工(worker)的特殊类。由于要使用虚函数,所以所有的派生都使用公有派生。

2)在类中设计当前类的私有数据成员,比如人员的姓名、性别,职工类的工号等。

3)在基类中设计一个人员信息显示函数void disp(),并使用virtual修饰。在派生类中分别重写该虚函数用于显示当前类中的私有成员。

4)在派生类的disp函数中要使用基类加域分隔符方式指定调用基类的disp函数,用于先显示基类的信息。

5)在main函数中可以事先生成一个基类指针数组,用于保存不同类型的派生类对象的地址,将数组的下标与菜单建立一个对应关系,这样就可以使用用户的选择直接找到派生类的地址再调用disp函数,以实现多态性。

6)随机选择时由随机函数生成一个随机下标(有效范围内)来指定派生类对象的地址。

7)程序要用到的随机rand及随机播种函数srand请查阅相关手册

8)程序要用到的清屏和暂停功能可以使用system函数调用DOS命令来实现。

3. 参考程序见附件(可执行文件,请解压后执行)

附件:virtualFun.7z

 

目标: 设计一个小型的学生管理系统的几个功能。 第一步要求: 1、 对于一个学生类,作为整个系统的核心,我们希望这个类能包括学生共有的基本信息:学号(id),出生岁月(birthday),专业(speciality),年级grade。要求在构建学生对象的时候提供最少姓名。 2、 作为学生类的实例,我们希望能通过设置器或访问器(set get方法)来修改这些学生的不同信息。 3、 通过对toString()方法的重写实现信息打印。 4、 通过对equals()方法的重写实现对象比较逻辑。 第二步要求: 5、 在构建学生对象的时候可以只提供姓名信息,要求在学生类内部对学号,自行处理。 -----------------------------------------------------------------------------第步要求: 6、 设计一个人Person类。学生必须继承人的这个类。姓名name,性别sex,年龄age ---------------------------------------------------------------------------- 第四步要求: 7、设计一个课程类,在学生类中可以定义一个方法设置课程,注意学生类需要调用课程类,而课程类需要学生类中的学生信息,所以建议使用内部类处理。 ---------------------------------------------------------------------------- 第五步要求: 8、做一个信息过滤,要求能存储所有信息,但也可以对所有学生信息根据某个条件进行过滤,把所有女生信息提取出来打印或把某个年龄段的学生打出来等。 ---------------------------------------------------------------------------- 第六步要求: 9、对过滤的条件采用接口回调的方式重构。 ---------------------------------------------------------------------------- 第七步要求: 10、对过滤的条件采用内部类的方式重构。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值