HM160 花名册全员展示
HM160 花名册全员展示
来源: 第 160 集 职工管理系统-显示职工功能
难度: 入门
时间限制: 1s
空间限制: 64MB
题目描述
人事系统用一个统一标志 fileIsEmpty 描述档案状态:文件不存在,或者文件存在但一条记录都没有,都把该标志置为真。不必分别维护「是否存在」和「是否为空」两个标志;当然你也可以拆成两个标志,本题按统一处理。
实现成员函数 showEmp:
- 若
fileIsEmpty为真,没有可展示的内容,输出一行文件不存在或记录为空。 - 若标志为假,按下标从 \(0\) 遍历到人数减一,通过父类指针调用虚函数
showInfo。showInfo在基类中是纯虚函数,由子类各自实现:同一接口、不同对象打印的岗位和职责不同。 - 部门编号 \(1\) 为普通员工,\(2\) 为经理,\(3\) 为总裁。岗位名称由
getDeptName()得到,职责如下。
| 部门编号 | 岗位 | 职责 |
|---|---|---|
| \(1\) | 员工 | 完成经理交给的任务 |
| \(2\) | 经理 | 完成老板交给的任务,并下发任务给员工 |
| \(3\) | 总裁 | 管理公司所有事务 |
每位职工一行,格式为:
职工编号:编号职工姓名:姓名岗位:岗位岗位职责:职责
冒号为中文全角。各字段之间恰好一个空格;全角冒号后紧跟内容,不要再插空格。
启动后还可以再添加一名职工:新人要挂进内存数组,并把 fileIsEmpty 改为假,再调用一次 showEmp。这样显示结果必须与刚写入档案的内容一致。
输入格式
第一行一个整数 \(t\)。
- \(t=0\):文件不存在,
fileIsEmpty为真,后面没有数据。 - \(t=1\):文件存在但记录为空,
fileIsEmpty为真,后面没有数据。 - \(t=2\):文件存在且有记录。接下来一行整数 \(n\)(\(1 \le n \le 1000\)),再接下来 \(n\) 行,每行编号 \(id\)、不含空白的姓名 \(s\)、部门编号 \(d\)(\(1 \le id \le 10^9\),\(1 \le |s| \le 20\),\(d \in \{1,2,3\}\))。
- \(t=3\):先按 \(t=2\) 的格式读入已有职工,再多读一行新人(编号、姓名、部门编号),把这人追加后再显示。
输出格式
按题目描述输出若干行,每行末尾换行。
样例
输入 #1
3
3
1 张三 1
2 李四 2
3 王五 3
4 赵六 1
输出 #1
职工编号:1 职工姓名:张三 岗位:员工 岗位职责:完成经理交给的任务
职工编号:2 职工姓名:李四 岗位:经理 岗位职责:完成老板交给的任务,并下发任务给员工
职工编号:3 职工姓名:王五 岗位:总裁 岗位职责:管理公司所有事务
职工编号:4 职工姓名:赵六 岗位:员工 岗位职责:完成经理交给的任务
输入 #2
0
输出 #2
文件不存在或记录为空
说明
- \(t=0\) 与 \(t=1\) 输出完全相同,因为共用一个空档标志。
- 必须用多态接口打印职工信息,不能只按部门编号写一串无关的分支应付输出。
- \(t=3\) 用来确认:添加成功后,内存和显示里都能看到新人。
信息
- ID
- 1159
- 难度
- (无)
- 分类
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 通过率
- ?
- 上传者