一、菜单
功能描述:显示简单的菜单,供用户选择操作
实现步骤:直接cout输出
二、退出功能
功能描述:根据用户不同的操作代码选择,进入不同的功能,我们使用switch分支结构进行搭建
实现步骤:用while(ture)循环包涵switch, case 0:时用return 0 ,退出循环,即退出通讯录。
三、添加联系人
功能描述:实现添加联系人功能,联系人上限为1000人,联系信息包括(姓名、性别、年龄、联系电话、家庭住址)
实现步骤:
-
- 设计联系人结构体
- 设计通讯录结构体
- main函数中创建通讯录
- 封装添加联系人函数
四、显示联系人
功能描述:显示通信录中所有人员信息
实现步骤:判断通讯录中联系人是否为0,不为0则显示联系人所有信息
五、删除联系人
功能描述:按照姓名删除指定联系人
实现步骤:封装检测联系人是否存在函数,封装删除联系人函数
六、查找联系人
功能描述:按照姓名查找联系人
实现步骤:判断是否存在此人,存在则输出信息
七、修改联系人
功能描述:按照姓名重新修改联系人信息
实现步骤:判断是否存在此人,存在则进行修改操作
八、清空联系人
功能描述:清空通讯录中所有信息
实现步骤:将通信录中联系人数量标志位置为0,做逻辑清空。
九、完整代码:(vs coed 编写)
1 #include <iostream> 2 #include <string> 3 #define Max 1000 4 using namespace std; 5 6 //通讯录菜单界面 7 void ShowMenu(){ 8 cout << "**************************" << endl; 9 cout << "通讯录操作编号" << endl << endl; 10 cout << " 1 : " << "添加联系人" << endl; 11 cout << " 2 : " << "显示联系人" << endl; 12 cout << " 3 : " << "删除联系人" << endl; 13 cout << " 4 : " << "查找联系人" << endl; 14 cout << " 5 : " << "修改联系人" << endl; 15 cout << " 6 : " << "清空联系人" << endl; 16 cout << " 0 : " << "退出通讯录" << endl; 17 cout << "**************************" << endl; 18 19 } 20 21 //设计联系人结构体 22 struct Person{ 23 //姓名 24 string m_Name; 25 //性别 26 int m_Sex; 27 //年龄 28 int m_Age; 29 //电话 30 string m_Phone; 31 //住址 32 string m_Addr; 33 }; 34 35 //设计通讯录结构体 36 struct Addressbooks{ 37 //保存联系人的数组 38 struct Person personArray[Max]; 39 //已保存联系人个数 40 int m_Size; 41 }; 42 43 //添加联系人函数 44 void addPerson(Addressbooks *abc){ 45 if(abc->m_Size > 1000){ 46 cout << "通讯录已满,无法再添加!" << endl; 47 }else{ 48 //姓名 49 string name; 50 cout << "请输入姓名" << endl; 51 cin >> name; 52 abc->personArray[abc->m_Size].m_Name = name; 53 54 //性别 55 cout << "请输入性别:"; 56 cout << " 1--男" << " "; 57 cout << "2--女" << endl; 58 int sex = 0; 59 while(true){ 60 cin >> sex; 61 if (sex == 1 || sex == 2) 62 { 63 abc->personArray[abc->m_Size].m_Sex = sex; 64 break; 65 }else{ 66 cout << "输入有误,请重新输入:" << endl; 67 } 68 } 69 70 //年龄 71 cout << "请输入年龄:" << endl; 72 int age; 73 cin >> age; 74 abc->personArray[abc->m_Size].m_Age = age; 75 76 //联系电话 77 cout << "请输入联系电话:" << endl; 78 string phone; 79 cin >> phone; 80 abc->personArray[abc->m_Size].m_Phone = phone; 81 82 //家庭住址 83 cout << "请输入家庭住址:" << endl; 84 string address; 85 cin >> address; 86 abc->personArray[abc->m_Size].m_Addr = address; 87 88 //更新通讯录人数 89 abc->m_Size++; 90 91 cout << "添加成功!" << endl; 92 93 //mac系统下无法使用 94 system("pause");//按任意键继续 95 system("cls");//清屏工作 96 97 } 98 } 99 100 //显示联系人函数 101 void showPerson(Addressbooks *abc){ 102 if(abc->m_Size == 0){ 103 cout << "通讯录中无联系人!" << endl; 104 }else{ 105 for(int i = 0;i < abc->m_Si