HM289 教师职工档案

HM289 教师职工档案

HM289 教师职工档案

来源: 第 289 集 机房预约系统-教师类创建

难度: 普及-

时间限制: 1s

空间限制: 64MB

题目描述

机房预约里有多种身份。身份档案 Identity 抽出共性:用户名、密码,以及纯虚接口 operMenu(每种身份登录后的子菜单不同,必须由派生类重写,否则派生类仍是抽象类,不能实例化)。身份档案本身不能单独建档。

教师 Teacherpublic 方式继承身份档案,并增加特性属性 职工号。教师还要提供:

  • 默认构造:职工号为 \(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
通过率
?
上传者