HM298 读入账号容器
HM298 读入账号容器
来源: 第 298 集 机房预约系统-获取文件中学生和老师信息
难度: 普及-
时间限制: 1s
空间限制: 64MB
题目描述
要做去重,先得知道文件里已经有谁。管理员增加两个容器 vector<Student> vStu、vector<Teacher> vTea,以及成员函数 initVector。有参构造里调用一次 initVector,把磁盘上的名册装进容器。
initVector 的步骤:
- 先把两个容器
clear,保证从空开始; - 以读方式打开
student.txt。打不开则输出文件读取失败并**立刻返回**(此时教师容器保持清空,不再去读教师文件); - 循环按空格读入学号、姓名、密码,构造学生并
push_back进vStu; - 关掉学生文件,再以读方式打开
teacher.txt。打不开则输出文件读取失败(学生容器里已读到的内容保留); - 循环读入职工号、姓名、密码,
push_back进vTea。
只按学号 / 职工号区分人,**同名可以并存**。读完后输出学生人数、每一名学生,再输出教师人数、每一名教师。人数用容器的 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
- 通过率
- ?
- 上传者