HM076 两层结构体设计

HM076 两层结构体设计

HM076 两层结构体设计

来源: 第 76 集 通讯录管理系统-添加联系人-结构体设计

难度: 入门

时间限制: 1s

空间限制: 64MB

题目描述

联系人不是 intfloatstring,需要自定义结构体 Person,成员固定为五项:

  • mName:姓名,字符串
  • mSex:性别,整数。不用字符串,是为了限制用户只能输入 \(1\)(男)或 \(2\)(女),输入 \(3\) 之类视为不在范围内
  • mAge:年龄,整数
  • mPhone:电话,字符串
  • mAddress:住址,字符串

一个人不能代表整本通讯录。还要再设计结构体 AddressBook

  • personArrayPerson 数组,容量用宏常量 #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
通过率
?
上传者