HM083 人数置零即逻辑清空

HM083 人数置零即逻辑清空

HM083 人数置零即逻辑清空

来源: 第 83 集 通讯录管理系统-清空通讯录

难度: 入门

时间限制: 1s

空间限制: 64MB

题目描述

清空联系人的含义是:用户不再需要本子里的任何人。封装 cleanPerson,用地址传递接收通讯录指针。

不要写循环去把每个人的姓名、电话等字段逐个抹成空串或 \(0\)。那些旧数据即使还躺在数组里也没关系,只要之后访问不到即可。正确做法是**逻辑清空**:把通讯录里记录当前人数的 mSize 置为 \(0\)。之后显示函数只按 mSize 遍历,于是一个人都访问不到,效果就等于整本被清空。人数本来是 \(10\),改成 \(0\) 即可,不必管那 \(10\) 个结构体里还存着什么。

清空是不可逆的。执行前先读入一次确认:\(1\) 表示确实清空,\(2\) 表示放弃。只有确认后才把 mSize 置 \(0\) 并输出 通讯录已清空;放弃则输出 已放弃清空,通讯录保持原样。

显示规则与此前一致:mSize 为 \(0\) 时输出 当前记录为空;否则按现有人数逐行输出,字段之间用制表符,性别用三目运算符写成

输入格式

第一行一个整数 \(n\)(\(0 \le n \le 100\))。

接下来 \(n\) 行,每行:姓名、性别、年龄、电话、住址,均不含空白。\(1 \le sex \le 2\)。

下一行一个整数 \(q\)(\(1 \le q \le 100\))。

接下来 \(q\) 个操作:

  • 2:显示当前能访问到的全部联系人。
  • 6\ c:尝试清空。\(c=1\) 确认,\(c=2\) 放弃。其它 \(c\) 按放弃处理。

输出格式

按操作即时输出显示结果或清空提示。行末换行。

样例

输入 #1

2
张三 1 18 13690000000 海淀
李四 2 20 13681111111 朝阳
5
2
6 2
2
6 1
2

输出 #1

张三  男   18  13690000000 海淀
李四  女   20  13681111111 朝阳
已放弃清空
张三  男   18  13690000000 海淀
李四  女   20  13681111111 朝阳
通讯录已清空
当前记录为空

输入 #2

0
3
2
6 1
2

输出 #2

当前记录为空
通讯录已清空
当前记录为空

说明

必须把 mSize 置 \(0\),不要按容量 \(1000\) 去清空数组。样例 1 先显示两人;放弃清空后再显示仍是两人;确认清空后显示为空。数组里即使还留着张三、李四的旧字段,只要 mSize 为 \(0\),显示函数就不能再访问他们。

信息

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