HM076 两层结构体设计
HM076 两层结构体设计
来源: 第 76 集 通讯录管理系统-添加联系人-结构体设计
难度: 入门
时间限制: 1s
空间限制: 64MB
题目描述
联系人不是 int、float 或 string,需要自定义结构体 Person,成员固定为五项:
mName:姓名,字符串mSex:性别,整数。不用字符串,是为了限制用户只能输入 \(1\)(男)或 \(2\)(女),输入 \(3\) 之类视为不在范围内mAge:年龄,整数mPhone:电话,字符串mAddress:住址,字符串
一个人不能代表整本通讯录。还要再设计结构体 AddressBook:
personArray:Person数组,容量用宏常量#define MAX 1000表示上限。不要把 \(1000\) 写死在数组括号里的「魔术数字」以外的多处;改容量时只改宏,例如改成 \(2000\)。mSize:当前已经录入的人数。一开始并不是 \(1000\) 人,每成功加入一人,这个计数加一。
需要包含 <string>。读入 \(n\) 人并装进通讯录(\(n\) 不得超过 MAX;超过的部分丢弃)。输出宏容量、当前人数,以及每名联系人的五项。
输入格式
第一行一个整数 \(n\)(\(0 \le n \le 2000\))。
接下来 \(n\) 行,每行:姓名、性别、年龄、电话、住址,均不含空白。\(1 \le |name| \le 20\),性别为整数,\(0 \le age \le 200\),电话和住址长度不超过 \(30\)。
输出格式
第一行:MAX、一个空格、宏 MAX 的值。
第二行:SIZE、一个空格、实际存入的人数。
随后每人一行:姓名、性别、年龄、电话、住址,相邻之间一个空格。行末换行。若一个人都没有,只输出前两行。
样例
输入 #1
2
张三 1 18 13690000000 海淀
李四 2 20 13680000000 朝阳
输出 #1
MAX 1000
SIZE 2
张三 1 18 13690000000 海淀
李四 2 20 13680000000 朝阳
输入 #2
0
输出 #2
MAX 1000
SIZE 0
说明
必须同时定义联系人结构体和通讯录结构体。容量由宏 MAX 给出,当前人数由 mSize 记录。样例 2 表示刚创建的通讯录一个人都没有。若 \(n>1000\),只保留前 \(1000\) 人。
信息
- ID
- 1075
- 难度
- (无)
- 分类
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 通过率
- ?
- 上传者