HM277 档案三态

HM277 档案三态

HM277 档案三态

来源: 第 277 集 演讲比赛流程管理系统-读取记录-获取往届分数

难度: 普及-

时间限制: 1s

空间限制: 64MB

题目描述

查看往届成绩前,要先把记录文件装进内存。加载函数要处理三种互斥状态,并用一个布尔标志记住「文件是否为空」:

  1. 打不开:输入流打开失败(文件不存在)。把标志设为真,提示文件不存在,关闭后立刻返回。
  2. 存在但是空的:文件能打开,却已经被清空。先读走一个字符,若此时已经到达文件尾,把标志设为真,提示文件为空,关闭后返回。
  3. 有数据:前两种都不成立。把标志设为假。因为检测空文件时已经读走了一个字符,必须先把它**放回**输入流,再按「空白分隔」把每一段原始记录读出来。本问只要求拿到整行字符串,先不要按逗号拆字段。

有数据时,还要准备好往后届表:键是届号,值是字符串数组。本问尚未解析,因此只输出读到的原始行,并在最后输出标志对应的单词。

本题用标准输入模拟文件内容,不真正创建磁盘文件。

输入格式

第一行一个字符串 \(op\),取值只能是 MISSINGEMPTYDATA

若 \(op\) 为 DATA,第二行一个整数 \(n\),随后 \(n\) 行,每行一段不含空白的原始记录(逗号分隔的一整串)。

输出格式

  • MISSING:第一行 文件不存在,第二行 EMPTY
  • EMPTY:第一行 文件为空,第二行 EMPTY
  • DATA:先按读入顺序各输出一行原始记录,最后一行 NONEMPTY

样例

输入 #1

DATA
2
10002,86.675,10009,88.250,10001,80.000,
10004,90.000,10005,84.500,10006,91.125,

输出 #1

10002,86.675,10009,88.250,10001,80.000,
10004,90.000,10005,84.500,10006,91.125,
NONEMPTY

输入 #2

MISSING

输出 #2

文件不存在
EMPTY

输入 #3

EMPTY

输出 #3

文件为空
EMPTY

说明

\(1 \le n \le 100\)。DATA 保证每一行至少有一个字符,因此「先读一个字符再放回」之后一定还能完整读出原串。

空文件与「文件不存在」都要把空标志设为真,但不能用同一句提示:前者是文件为空,后者是文件不存在。

信息

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