当前位置 博文首页 > 想要上南大的同学的博客:C++通讯录管理系统

    想要上南大的同学的博客:C++通讯录管理系统

    作者:[db:作者] 时间:2021-07-17 13:18

    C++通讯录管理系统

    代码

    #include<iostream>
    using namespace std;
    #define MAX 1000 //最大人数
    
    //菜单页面:
    void showMenu()
    {
    	cout << "***** 1.添加联系人 *****" << endl;
    	cout << "***** 2.显示联系人 *****" << endl;
    	cout << "***** 3.删除联系人 *****" << endl;
    	cout << "***** 4.查找联系人 *****" << endl;
    	cout << "***** 5.修改联系人 *****" << endl;
    	cout << "***** 6.清空联系人 *****" << endl;
    	cout << "***** 0.退出联系人 *****" << endl;
    }
    
    //联系人结构体
    struct Person
    {
    	string name;
    	int m_Sex;
    	int m_Age;
    	string m_Phone;
    	string m_Addr;
    };
    
    //通讯录结构体
    struct Addressbooks
    {
    	struct Person personArray[MAX]; //通讯录中保存的联系人数组
    	int m_Size; //通讯录中人员个数
    };
    
    //1.添加联系人
    void addPerson(Addressbooks* abs)
    {
    	//判断下通讯录是否满了
    	if (abs->m_Size == MAX)
    	{
    		cout << "通讯录已满,不能添加" << endl;
    	}
    	else
    	{
    		//添加具体联系人
    		
    		//姓名:
    		string name;
    		cout << "请输入姓名:" << endl;
    		cin >> name;
    		abs->personArray[abs->m_Size].name = name;
    		//年龄:
    		int age; 
    		cout << "请输入年龄:" << endl;
    		while (true)
    		{
    			cin >> age;
    			if (age > 10 && age <= 112)
    			{
    				abs->personArray[abs->m_Size].m_Age = age;
    				break;
    			}
    			else
    			{
    				cout << "您输入的有问题请重新输入" << endl;
    			}
    		}
    		//性别:
    		cout << "亲输入性别:" << endl;
    		cout << "1.  ---- 男:" << endl;
    		cout << "2.  ---- 女:" << endl;
    		int sex = 0;
    		while (true) 
    		{
    			cin >> sex;
    			if (sex == 1 || sex == 2)
    			{
    				abs->personArray[abs->m_Size].m_Sex = sex;
    				break;
    			}
    			else
    			{
    				cout << "您输入的有问题请重新输入" << endl;
    			}
    		}
    		//联系电话:
    		cout << "请输入联系电话:" << endl;
    		string phone;
    		cin >> phone;
    		abs->personArray[abs->m_Size].m_Phone = phone;
    		//住址:
    		cout << "请输入你的住址;" << endl;
    		string addr;
    		cin >> addr;
    		abs->personArray[abs->m_Size].m_Addr = addr;
    
    		//添加人数后,人数变化
    		abs->m_Size++;
    		cout << "添加成功。。。。" << endl;
    		system("pause");//请按任意键继续
    		system("cls");//清屏操作
    		
    	}
    }
    
    void showPerson(Addressbooks* abs)
    {
    	//判断通讯录中人数是否为 零
    	//如果不为 零, 显示记录为 零
    	if (abs->m_Size == 0)
    	{
    		cout << "当前记录为空。。。" << endl;
    	}
    	else
    	{
    		for (int i = 0; i < abs->m_Size; i++)
    		{
    			cout << "姓名:" << abs->personArray->name << "\t";
    			cout << "性别:" << (abs->personArray->m_Sex == 1 ? "男":"女") << "\t";
    			cout << "年龄:" << abs->personArray->m_Age << "\t";
    			cout << "电话:" << abs->personArray->m_Phone << "\t";
    			cout << "住址:" << abs->personArray->m_Addr << endl;
    		}
    	}
    	system("pause");//请按任意键继续
    	system("cls");//清屏操作
    }
    
    //判断是否存在查询的人员。如果存在,返回在数组中索引位置,不存在返回-1
    int isExist(Addressbooks* abs, string name)
    {
    	for (int i = 0; i < abs->m_Size; i++)
    	{
    		if (abs->personArray[i].name == name)
    		{
    			/*cout << "姓名:" << abs->personArray->name << "\t";
    			cout << "性别:" << (abs->personArray->m_Sex == 1 ? "男" : "女") << "\t";
    			cout << "年龄:" << abs->personArray->m_Age << "\t";
    			cout << "电话:" << abs->personArray->m_Phone << "\t";
    			cout << "住址:" << abs->personArray->m_Addr << endl;*/
    			return i;
    		}
    	}
    	return -1;//如果遍历结果没有
    }
    
    //3.删除指定联系人
    void deletePerson(Addressbooks* abs)
    {
    	cout << "请输入您要删除的联系人" << endl;
    	string name;
    	cin >> name;
    	//ret == -1 未查到
    	//ret != -1 查到了
    	int ret = isExist(abs, name);
    	if (ret != 1) 
    	{
    		//所谓删除就是数据前移,覆盖数据
    		for (int i = ret; i < abs->m_Size; i++)
    		{
    			abs->personArray[i] = abs->personArray[i + 1];
    		}
    		abs->m_Size--;
    		cout << "删除成功。。。" << endl;
    	}
    	else
    	{
    		cout << "查无此人" << endl;
    	}
    	system("pause");//请按任意键继续
    	system("cls");//清屏操作
    }
    
    //4.查找指定联系人信息
    void findPerson(Addressbooks* abs)
    {
    	cout << "亲输入你要查找的人:" << endl;
    	string name;
    	cin >> name;
    	int ret = isExist(abs, name);
    
    	if (ret != -1)//找到了
    	{
    		cout << "姓名:" << abs->personArray[ret].name << "\t";
    		cout << "性别:" << (abs->personArray[ret].m_Sex == 1 ? "男" : "女") << "\t";
    		cout << "年龄:" << abs->personArray[ret].m_Age << "\t";
    		cout << "电话:" << abs->personArray[ret].m_Phone << "\t";
    		cout << "住址:" << abs->personArray[ret].m_Addr << endl;
    	}
    	else {//未找到
    		cout << "查无此人" << endl;
    	}
    	system("pause");//请按任意键继续
    	system("cls");//清屏操作
    }
    
    //5.修改指定联系人的信息
    void modifyPerson(Addressbooks* abs)
    {
    	cout << "请你输入你要修改的联系人:" << endl;
    	string name;
    	cin >> name;
    	int ret = isExist(abs, name);
    	if (ret != -1)//找到了
    	{
    		cout << "姓名:" << abs->personArray[ret].name << "\t";
    		cout << "性别:" << (abs-
    
    下一篇:没有了