功能描述:
实现添加联系人功能,联系人上限为1000人,联系人信息包括(姓名、性别、年龄、联系电话、家庭住址)
添加联系人实现步骤:
●设计联系人结构体
●设计通讯录结构体
●main函数中创建通讯录
●封装添加联系人函数
●测试添加联系人功能
1.1,设计联系人结构体
//联系人结构体
struct Person{string m_Name; //姓名int m_Sex; //性别: 1男2女int m_Age; //年龄string m_Phone; //电话string m_Addr; //住址
};
1.2设计通讯录结构体
设计时候可以在通讯录结构体中,维护-个容量为1000的存放联系人的数组,并记录当前通讯录中联系人数量
设计如下:
#define MAX 1000 //最大人数
//通讯录结构体
struct Addressbooks
{struct Person personArray[MAX]; // 通讯录中保存的联系人数组int m_Size; //通讯录中人员个数
};
1.3,main函数中创建通讯录
int main() {//创建通讯录结构体变量Addressbooks abs;//初始化通讯录中当前人员个数abs.m_Size = 0;int select = 0;//创建用户选择输入菜单的变量while (true){showMenu();cin >> select;switch (select){case 1: //1、添加联系人addPerson(&abs); //利用地址传递可以修饰形参break;case 2: //2、显示联系人break;case 3: //3、删除联系人break;case 4: //4、查找联系人break;case 5: //5、修改联系人break;case 6: //6、清空联系人break;case 0: //0、退出通讯录cout << "欢迎下次使用" << endl;system("pause");return 0;break;default:break;}}system("pause");}
1.4、封装添加联系人函数
//添加联系人
void addPerson(Addressbooks * p) {//先判断通讯录是不是已经满了,满了不在添加if (p->m_Size == MAX) {cout << "通讯录已经满了" << endl;return;}else {//具体添加联系人//姓名string name;cout << "请输入姓名: " << endl;cin >> name;p->personArray[p->m_Size].m_Name = name;//性别cout << "请输入性别 :" << endl;cout << "1 ---男" << endl;cout << "2 ---女" << endl;int sex = 0;while (true){//如果输入的是1或者2可以退出循环,因为输入的是正确值// 如果输入有误,重新输入[cin >> sex;if (sex == 1 || sex == 2) {p->personArray[p->m_Size].m_Sex = sex;break;}cout << "输入有误请重新输入" << endl;}//年龄cout << "请输入年龄:" << endl;int age = 0;cin >> age;p->personArray[p->m_Size].m_Age = age;//电话cout << "请输入联系电话:"<< endl;string phone;cin >> phone;p->personArray[p->m_Size].m_Phone = phone;//住址cout << "请输入家庭住址 : " << endl;string address;cin >> address;p->personArray[p->m_Size].m_Addr = address;//更新通讯录人数p->m_Size++;cout << "添加成功" << endl;}}
1.5、测试添加联系人功能
添加成功之后这个屏幕有很多菜单列表:
我们需要清屏:
system("pause");//请按任意键继续
system("cls");//清屏