C++ 个人通讯录管理系统(二)

现在开始第一个功能:添加联系人

功能描述:实现添加联系人功能,联系人上限为1000人,联系人信息包括(姓名、性别、年龄、联系电话、家庭住址)。

添加联系人实现步骤:

  • 设计联系人结构体

  • 设计通讯录结构体

  • main函数中创建通讯录

  • 封装添加联系人函数

  • 测试添加联系人功能

1、设计联系人结构体

联系人信息包括:姓名、性别、年龄、联系电话、家庭住址。设计如下:

#include <string>  //string头文件

//联系人结构体
struct Person
{
	string m_Name;    //姓名
	int m_Sex;        //性别:1男 2女
	int m_Age;        //年龄
	string m_Phone;   //电话
	string m_Addr;    //住址
};

2、设计通讯录结构体

        设计时候可以在通讯录结构体中,维护一个容量为1000的存放联系人的数组,并记录当前通讯录中联系人数量。设计如下:

#define MAX 1000 //最大人数

//通讯录结构体
struct Addressbooks
{
	struct Person personArray[MAX];  //通讯录中保存的联系人数组
	int m_Size;                      //通讯录中人员个数
};

3、main函数中创建通讯录

       添加联系人函数封装好后,在main函数中创建一个通讯录变量,这个就是我们需要一直维护的通讯录。

int main()
{
    //创建通讯录
	Addressbooks abs;
	//初始化通讯录中人数
	abs.m_Size = 0;

    return 0;
}

4、封装添加联系人函数

        思路:添加联系人前先判断通讯录是否已满,如果满了就不再添加,未满情况将新联系人信息逐个加入到通讯录。添加联系人代码:

/1. 添加联系人信息
void addPerson(Addressbooks *abs)
{
	//判断电话本是否满了
	if (abs->m_Size >= MAX)
	{
		cout << "通讯录已满,无法添加" << endl;
		return;
	}
	else
	{
		//添加具体联系人
		//1.姓名
		string name;
		cout << "请输入姓名:";
		cin >> name;
		abs->personArray[abs->m_Size].m_Name = name;

		//2.性别
		int sex = 0;
		while (true)
		{
			cout << "请输入性别(1: 男, 2: 女):";
			cin >> sex;
			if (sex == 1 || sex == 2)
			{
				abs->personArray[abs->m_Size].m_Sex = sex;
				break;
			}
			else
			{
				cout << "性别输入错误, 请重新输入!" << endl;
			}
		}
		
		//3.年龄
		cout << "请输入年龄:";
		int age = 0;
		while (true)
		{
			cin >> age;
			if (age > 0 && age <= 130)
			{
				abs->personArray[abs->m_Size].m_Age = age;
				break;
			}
			else
			{
				cout << "年龄输入错误, 请重新输入!" << endl;
			}
		}
		
		//4.电话
		cout << "请输入电话:";
		string phone = "";
		cin >> phone;
		abs->personArray[abs->m_Size].m_Phone = phone;

		//5.住址
		cout << "请输入住址:";
		string address = "";
		cin >> address;
		abs->personArray[abs->m_Size].m_Addr = address;

		//更新通讯录人数
		abs->m_Size++;

		cout << "添加成功" << endl;
		system("pause");
		system("cls"); //清屏,便于下一个联系人的输入
	}
}

5、测试添加联系人功能

     选择界面中,如果用户选择了1,代表添加联系人,我们可以测试下该功能。在switch case 语句中,case1里添加:

#include <iostream>
#include <string>

using namespace std;

#define MAX 1000 //最大人数

int main() {
​
    int select = 0;
​
    while (true)
    {
        showMenu();
​
        cin >> select;
        
        switch (select)
        {
        case 1:  //添加联系人
            addPerson(&abs);
            break;
        case 2:  //显示联系人
            break;
        case 3:  //删除联系人
            break;
        case 4:  //查找联系人
            break;
        case 5:  //修改联系人
            break;
        case 6:  //清空联系人
            break;
        case 0:  //退出通讯录
            cout << "欢迎下次使用" << endl;
            system("pause");
            return 0;
            break;
        default:
            break;
        }
    }
​
    system("pause");
​
    return 0;
}

实际测试效果:

转载:【C++零基础入门到实战就业教程|传智教育-哔哩哔哩】 https://b23.tv/joc5Gdb

猜你喜欢

转载自blog.csdn.net/duan19920101/article/details/126070694