HM289 教师职工档案
HM289 教师职工档案
来源: 第 289 集 机房预约系统-教师类创建
难度: 普及-
时间限制: 1s
空间限制: 64MB
题目描述
机房预约里有多种身份。身份档案 Identity 抽出共性:用户名、密码,以及纯虚接口 operMenu(每种身份登录后的子菜单不同,必须由派生类重写,否则派生类仍是抽象类,不能实例化)。身份档案本身不能单独建档。
教师 Teacher 以 public 方式继承身份档案,并增加特性属性 职工号。教师还要提供:
- 默认构造:职工号为 \(0\),姓名与密码为
#; - 有参构造:依次传入职工号、姓名、密码;
- 重写
operMenu:打印教师子菜单; showAllOrder:查看所有人的预约;validOrder:审核预约。
先读入 \(n\) 名教师(均用有参构造建档)和 \(m\) 条预约。每条预约五个整数:学号、周几、时段、机房号、状态(\(0\) 审核中,\(1\) 已通过,\(2\) 未通过)。再处理 \(q\) 条指令:
SHOW i:输出第 \(i\) 名教师(从 \(1\) 编号)的职工号、姓名、密码;MENU i:输出其教师子菜单(见输出格式);ALL i:由该教师查看全部预约;若当前没有预约,输出NONE,否则按读入顺序每行五个整数;VALID i k s:由该教师把第 \(k\) 条预约(从 \(1\) 编号)的状态改为 \(s\)(\(1\) 或 \(2\))。仅当该条存在且原状态为 \(0\) 时才能改,成功输出OK,否则输出SKIP;DEF:用默认构造再建一名教师并输出其三个字段;BASE:输出ABSTRACT,表示身份档案含纯虚函数,不能实例化。
必须用身份抽象基类加教师派生类实现。
输入格式
第一行一个整数 \(n\)。
接下来 \(n\) 行,每行:职工号、姓名、密码(姓名、密码不含空白)。
下一行一个整数 \(m\)。
接下来 \(m\) 行,每行五个整数:学号、周几、时段、机房号、状态。
下一行一个整数 \(q\)。
接下来 \(q\) 行,每行一条上述指令。
输出格式
按指令依次输出。教师子菜单固定三行:
1.查看所有预约
2.审核预约
0.注销登录
同一行内多个字段用单个空格分隔,行末换行。
样例
输入 #1
2
1001 Zhang 123
1002 Li 456
3
11 1 1 1 0
12 2 2 2 0
13 3 1 3 1
7
SHOW 1
MENU 1
ALL 1
VALID 1 1 1
VALID 1 3 2
ALL 1
DEF
输出 #1
1001 Zhang 123
1.查看所有预约
2.审核预约
0.注销登录
11 1 1 1 0
12 2 2 2 0
13 3 1 3 1
OK
SKIP
11 1 1 1 1
12 2 2 2 0
13 3 1 3 1
0 # #
输入 #2
1
8 Emp p
0
4
ALL 1
VALID 1 1 1
BASE
DEF
输出 #2
NONE
SKIP
ABSTRACT
0 # #
说明
\(1 \le n \le 100\),\(0 \le m \le 200\),\(1 \le q \le 200\)。职工号与学号为不超过 \(10^9\) 的非负整数,姓名与密码长度不超过 \(20\)。
样例 #1:第一条预约审核通过后状态变为 \(1\);第三条原状态已是 \(1\),不能再审。样例 #2 一开始没有预约。
信息
- ID
- 1288
- 难度
- (无)
- 分类
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 通过率
- ?
- 上传者