HM298 读入账号容器

HM298 读入账号容器

HM298 读入账号容器

来源: 第 298 集 机房预约系统-获取文件中学生和老师信息

难度: 普及-

时间限制: 1s

空间限制: 64MB

题目描述

要做去重,先得知道文件里已经有谁。管理员增加两个容器 vector<Student> vStuvector<Teacher> vTea,以及成员函数 initVector。有参构造里调用一次 initVector,把磁盘上的名册装进容器。

initVector 的步骤:

  1. 先把两个容器 clear,保证从空开始;
  2. 以读方式打开 student.txt。打不开则输出 文件读取失败 并**立刻返回**(此时教师容器保持清空,不再去读教师文件);
  3. 循环按空格读入学号、姓名、密码,构造学生并 push_backvStu
  4. 关掉学生文件,再以读方式打开 teacher.txt。打不开则输出 文件读取失败(学生容器里已读到的内容保留);
  5. 循环读入职工号、姓名、密码,push_backvTea

只按学号 / 职工号区分人,**同名可以并存**。读完后输出学生人数、每一名学生,再输出教师人数、每一名教师。人数用容器的 size

用内存模拟两份文件:行数为 \(-1\) 表示该文件不存在。

输入格式

第一行一个整数 \(n\)。若 \(n=-1\),学生文件不存在;否则接下来 \(n\) 行:学号、姓名、密码。

下一行一个整数 \(m\)。若 \(m=-1\),教师文件不存在;否则接下来 \(m\) 行:职工号、姓名、密码。

输出格式

若学生文件不存在:只输出一行 文件读取失败

否则先输出 学生 x,再 \(x\) 行 学号 姓名 密码;然后若教师文件不存在,输出 文件读取失败,否则输出 教师 y 和 \(y\) 行 职工号 姓名 密码

样例

输入 #1

2
1 Zhang 123
2 Li 654321
1
5 Wang 123

输出 #1

学生 2
1 Zhang 123
2 Li 654321
教师 1
5 Wang 123

输入 #2

2
1 Zhang 123
3 Zhang 789
-1

输出 #2

学生 2
1 Zhang 123
3 Zhang 789
文件读取失败

说明

\( -1 \le n,m \le 200\)。样例 #2 两名学生同名不同号,都应读入;教师文件缺失时学生数据仍保留。若第一行是 \(-1\),整次初始化直接失败。

信息

ID
1297
难度
(无)
分类
(无)
标签
(无)
递交数
0
已通过
0
通过率
?
上传者