通讯录的实现是C++基础内容,本文参考黑马程序员教程,调试基本没有问题,主要还能够提升的地方在于,有些输入错误的信息,比如年龄输入成字母等问题,需要增加可重复输入的部分。
/*************************************************************************
> File Name: main.cpp
> Author:Yanzu
> Mail:ruiwang22@foxmail.com
> Created Time: Wed 25 Aug 2021 09:40:45 PM CST
************************************************************************/
#include<iostream>
#include<string>
using namespace std;
#define MAX 1000
//设计联系人结构体
struct Person {
string m_Name;
//性别 1 男 2 女
int m_Sex;
int m_Age;
string m_Phone;
string m_Addr;
};
//设计通讯录结构体
struct Addressbooks {
//通讯录中保存的联系人数组
struct Person personArray[MAX];
//通讯录中记录联系人个数
int m_Size;
};
//添加联系人
void addPerson(Addressbooks* abs) {
//判断通讯录是否已满,满了就无法再添加
if (abs->m_Size == MAX) {
cout << "通讯录已满,无法添加!" << endl;
return;
}
else {
//添加具体联系人
//姓名
string name;
cout << "请输入姓名: " << endl;
cin >> name;
abs->personArray[abs->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) {
abs->personArray[abs->m_Size].m_Sex = sex;
break;
}
cout << "输入有误,请重新输入" << endl;
}
//年龄
cout << "请输入年龄: " << endl;