实现的功能
1:添加联系人
2:显示联系人
3:删除联系人
4:查找联系人
5:修改联系人
6:清空通讯录
0:退出通讯录
在学习完循环,数组,函数,指针,结构体之后。我们急需一个项目去练手,不宜太难,也不宜太简单,个人觉得,通讯录项目拿来练手还是蛮舒服的!废话不多说,直接开始! 首先,我们先来瞧瞧项目的成果(只是项目中的其中之一的功能展示)
添加联系人显示
显示联系人删除联系人
接下来,废话不多说,直接上代码吧!
在这里插入#include <iostream>
#include <string>
using namespace std;
const int MAX = 1000; //通讯录当前只能保存最多1000人的信息
//添加联系人结构体
struct Person
{
string m_Name; //姓名
int m_Sex; //性别
int m_Age; //年龄
string m_Phone; //电话
string m_Addr; //住址
};
//设计通讯录结构体
struct AddressBook
{
//通讯录中保存的联系人数组
struct Person personArray[MAX];
//通讯录中当前记录联系人个数
int m_Size;
};
//菜单显示函数
void showMenu();
//1:添加联系人函数
void addPerson(AddressBook* abs);
//2:显示所有的联系人
void showPerson(AddressBook* abs);
//3:删除指定联系人(按照姓名删除,如果有此人,立马删除,否则,提示用户,查无此人)
void deletePerson(AddressBook* abs);
//4:查找联系人(如果此人存在 则显示此人信息 不存在则显示查无此人)
void findPerson(AddressBook* abs);
//5: 修改指定的联系人(按照姓名查找 如果有 则修改 否则显示查无此人)
void modifyPerson(AddressBook* abs);
//6: 清空联系人
void cleanPerson(AddressBook* abs);
int main()
{
//创建通讯录结构体变量
AddressBook abs;
abs.m_Size = 0; //初始化通讯录的当前人数
while (true)
{
showMenu(); //调用菜单
int select = 0; //用户的选择输入的变量
cin >> select;
switch (select)
{
case 1: //1:添加联系人
addPerson(&abs); //利用地址传递 可以修改实参
break;
case 2: //2:显示联系人
showPerson(&abs);
break;
case 3: //3:删除联系人
deletePerson(&abs);
break;
case 4: //4:查找联系人
findPerson(&abs);
break;
case 5: //5:修改联系人
modifyPerson(&abs);
break;
case 6: //6:清空联系人
cleanPerson(&abs);
break;
case 0: //0:退出通讯录
cout << "欢迎下次使用!" << endl;