目录






- #include
- using namespace std;
-
- //-封装函数显示该界面 如 void showMenu()
- //-在main函数中调用封装好的函数
-
- //菜单界面
- void showMenu()
- {
- cout << "**************************"<
- cout << "***** 1、添加联系人 *****" << endl;
- cout << "***** 2、显示联系人 *****" << endl;
- cout << "***** 3、删除联系人 *****" << endl;
- cout << "***** 4、查找联系人 *****" << endl;
- cout << "***** 5、修改联系人 *****" << endl;
- cout << "***** 6、清空联系人 *****" << endl;
- cout << "***** 0、退出通讯录 *****" << endl;
- cout << "**************************" << endl;
- }
- int main()
- {
- showMenu();
-
- system("pause");//按任意键继续
- return 0;
- }
4.退出功能

- #include
- using namespace std;
-
- //-封装函数显示该界面 如 void showMenu()
- //-在main函数中调用封装好的函数
-
- //菜单界面
- void showMenu()
- {
- cout << "**************************"<
- cout << "***** 1、添加联系人 *****" << endl;
- cout << "***** 2、显示联系人 *****" << endl;
- cout << "***** 3、删除联系人 *****" << endl;
- cout << "***** 4、查找联系人 *****" << endl;
- cout << "***** 5、修改联系人 *****" << endl;
- cout << "***** 6、清空联系人 *****" << endl;
- cout << "***** 0、退出通讯录 *****" << endl;
- cout << "**************************" << endl;
- }
- int main()
- {
- int select;//创建用户选择输入的变量
-
- while (1)
- {
- showMenu();//菜单调用
- cin >> select;
- switch (select)
- {
- case 1://1、添加联系人
- break;
- case 2://2、显示联系人
- break;
- case 3:// 3、删除联系人
- break;
- case 4://4、查找联系人
- break;
- case 5://5、修改联系人
- break;
- case 6://6、清空联系人
- break;
- case 0://0、退出通讯录
- cout << "欢迎下次使用" << endl;
- system("pause");//按任意键继续
- return 0;//return 0退出函数,退出系统
- break;
- default:
- break;
- }
- }
-
- system("pause");//按任意键继续
- return 0;
- }
5.添加联系人

5.1设计联系人结构体、设计通讯录结构体
- #include
- using namespace std;
-
- //#define Max 1000
- const int Max = 1000;
- //设计联系人结构体
- struct person
- {
- //姓名
- string m_name;
- //性别 1男2女
- int m_sex;
- //年龄
- int age;
- //电话
- string m_phone;
- //住址
- string m_Addr;
-
- };
- //通讯录结构体
- struct Addressbooks
- {
- //保存联系人的数组
- person personArray[Max];
- //通讯录中当前记录的联系人的个数
- int m_Size;
- };
- //菜单界面
- void showMenu()
- {
- cout << "**************************"<
- cout << "***** 1、添加联系人 *****" << endl;
- cout << "***** 2、显示联系人 *****" << endl;
- cout << "***** 3、删除联系人 *****" << endl;
- cout << "***** 4、查找联系人 *****" << endl;
- cout << "***** 5、修改联系人 *****" << endl;
- cout << "***** 6、清空联系人 *****" << endl;
- cout << "***** 0、退出通讯录 *****" << endl;
- cout << "**************************" << endl;
- }
- int main()
- {
- int select;//创建用户选择输入的变量
-
- while (1)
- {
- showMenu();//菜单调用
- cin >> select;
- switch (select)
- {
- case 1://1、添加联系人
- break;
- case 2://2、显示联系人
- break;
- case 3:// 3、删除联系人
- break;
- case 4://4、查找联系人
- break;
- case 5://5、修改联系人
- break;
- case 6://6、清空联系人
- break;
- case 0://0、退出通讯录
- cout << "欢迎下次使用" << endl;
- system("pause");//按任意键继续
- return 0;//return 0退出函数,退出系统
- break;
- default:
- break;
- }
- }
-
- system("pause");//按任意键继续
- return 0;
- }
5.2main函数中创建通讯录

5.3封装添加联系人函数

5.4测试添加联系人

- #include
- using namespace std;
-
- //#define Max 1000
- const int Max = 1000;
- //设计联系人结构体
- struct person
- {
- //姓名
- string m_name;
- //性别 1男2女
- int m_sex;
- //年龄
- int age;
- //电话
- string m_phone;
- //住址
- string m_Addr;
-
- };
- //通讯录结构体
- struct Addressbooks
- {
- //保存联系人的数组
- person personArray[Max];
- //通讯录中当前记录的联系人的个数
- int m_Size;
- };
-
- //1、添加联系人
- void addPerson(Addressbooks* p)
- {
- //判断通讯录是否已满,如果满了就不再添加
- if (p->m_Size == Max)
- {
- cout << "通讯录已满,无法添加!" << endl;
- }
- else
- {
- cout << "请输入要添加的联系人的姓名,性别(1男,2女),年龄,电话,住址,以空格分割" << endl;
- string name;
- int sex;
- int age;
- string phone;
- string Addr;
- cin >> name >> sex >> age >> phone >> Addr;
- p->personArray[p->m_Size].m_name = name;
- p->personArray[p->m_Size].m_sex = sex;
- p->personArray[p->m_Size].age = age;
- p->personArray[p->m_Size].m_phone = phone;
- p->personArray[p->m_Size].m_Addr = Addr;
- //更新通讯录中的人数
- p->m_Size++;//等价于 p->m_Size += 1;
- /*
- while(1)//输错性别,就一直输入,直到正确才退出
- {
- cin >> sex;
- if (sex == 1 || sex == 2)
- {
- p->personArray[p->m_Size].m_sex = sex;
- break;
- }
- cout<<"输入有误,请重新输入<
- }
- */
- cout << "添加成功" << endl;
- system("pause");//请按任意键继续
- system("cls");//清屏操作
- }
-
- }
- //菜单界面
- void showMenu()
- {
- cout << "**************************"<
- cout << "***** 1、添加联系人 *****" << endl;
- cout << "***** 2、显示联系人 *****" << endl;
- cout << "***** 3、删除联系人 *****" << endl;
- cout << "***** 4、查找联系人 *****" << endl;
- cout << "***** 5、修改联系人 *****" << endl;
- cout << "***** 6、清空联系人 *****" << endl;
- cout << "***** 0、退出通讯录 *****" << endl;
- cout << "**************************" << endl;
- }
- int main()
- {
- Addressbooks abs;//创建通讯录结构体变量
- abs.m_Size = 0;//初始化通讯录中当前人员的个数
- int select;//创建用户选择输入的变量
-
- while (1)
- {
- showMenu();//菜单调用
- cin >> select;
- switch (select)
- {
- case 1://1、添加联系人
- addPerson(&abs);//利用地址传递,可以修改实参
- break;
- case 2://2、显示联系人
- break;
- case 3:// 3、删除联系人
- break;
- case 4://4、查找联系人
- break;
- case 5://5、修改联系人
- break;
- case 6://6、清空联系人
- break;
- case 0://0、退出通讯录
- cout << "欢迎下次使用" << endl;
- system("pause");//按任意键继续
- return 0;//return 0退出函数,退出系统
- break;
- default:
- break;
- }
- }
-
- system("pause");//按任意键继续
- return 0;
- }
6.显示联系人

- #include
- using namespace std;
-
- //#define Max 1000
- const int Max = 1000;
- //设计联系人结构体
- struct person
- {
- //姓名
- string m_name;
- //性别 1男2女
- int m_sex;
- //年龄
- int age;
- //电话
- string m_phone;
- //住址
- string m_Addr;
-
- };
- //通讯录结构体
- struct Addressbooks
- {
- //保存联系人的数组
- person personArray[Max];
- //通讯录中当前记录的联系人的个数
- int m_Size;
- };
-
- //1、添加联系人
- void addPerson(Addressbooks* p)
- {
- //判断通讯录是否已满,如果满了就不再添加
- if (p->m_Size == Max)
- {
- cout << "通讯录已满,无法添加!" << endl;
- }
- else
- {
- cout << "请输入要添加的联系人的姓名,性别(1男,2女),年龄,电话,住址,以空格分割" << endl;
- string name;
- int sex;
- int age;
- string phone;
- string Addr;
- cin >> name >> sex >> age >> phone >> Addr;
- p->personArray[p->m_Size].m_name = name;
- p->personArray[p->m_Size].m_sex = sex;
- p->personArray[p->m_Size].age = age;
- p->personArray[p->m_Size].m_phone = phone;
- p->personArray[p->m_Size].m_Addr = Addr;
- //更新通讯录中的人数
- p->m_Size++;//等价于 p->m_Size += 1;
- /*
- while(1)//输错性别,就一直输入,直到正确才退出
- {
- cin >> sex;
- if (sex == 1 || sex == 2)
- {
- p->personArray[p->m_Size].m_sex = sex;
- break;
- }
- cout<<"输入有误,请重新输入<
- }
- */
- cout << "添加成功" << endl;
- system("pause");//请按任意键继续
- system("cls");//清屏操作
- }
-
- }
-
- //2、显示联系人
- void showPerson(Addressbooks* p)
- {
- if (p->m_Size == 0)
- {
- cout << "记录为空" << endl;
- }
- else
- {
- for (int i = 0; i < p->m_Size; i++)
- {
- cout <<"姓名:"<< p->personArray[i].m_name << " "
- << "性别:"<<(p->personArray[i].m_sex == 1 ? "男" : "女") << " "
- <<"年龄:"<< p->personArray[i].age << " "
- <<"电话:"<< p->personArray[i].m_phone << " "
- << "地址:"<
personArray[i].m_Addr << endl; - }
- }
- system("pause");//按任意键继续
- system("cls");//清屏
- }
- //菜单界面
- void showMenu()
- {
- cout << "**************************"<
- cout << "***** 1、添加联系人 *****" << endl;
- cout << "***** 2、显示联系人 *****" << endl;
- cout << "***** 3、删除联系人 *****" << endl;
- cout << "***** 4、查找联系人 *****" << endl;
- cout << "***** 5、修改联系人 *****" << endl;
- cout << "***** 6、清空联系人 *****" << endl;
- cout << "***** 0、退出通讯录 *****" << endl;
- cout << "**************************" << endl;
- }
- int main()
- {
- Addressbooks abs;//创建通讯录结构体变量
- abs.m_Size = 0;//初始化通讯录中当前人员的个数
- int select;//创建用户选择输入的变量
-
- while (1)
- {
- showMenu();//菜单调用
- cin >> select;
- switch (select)
- {
- case 1://1、添加联系人
- addPerson(&abs);//利用地址传递,可以修改实参
- break;
- case 2://2、显示联系人
- showPerson(&abs);
- break;
- case 3:// 3、删除联系人
- break;
- case 4://4、查找联系人
- break;
- case 5://5、修改联系人
- break;
- case 6://6、清空联系人
- break;
- case 0://0、退出通讯录
- cout << "欢迎下次使用" << endl;
- system("pause");//按任意键继续
- return 0;//return 0退出函数,退出系统
- break;
- default:
- break;
- }
- }
-
- system("pause");//按任意键继续
- return 0;
- }
7.删除联系人

7.1封装检测联系人是否存在
- #include
- using namespace std;
-
- //#define Max 1000
- const int Max = 1000;
- //设计联系人结构体
- struct person
- {
- //姓名
- string m_name;
- //性别 1男2女
- int m_sex;
- //年龄
- int age;
- //电话
- string m_phone;
- //住址
- string m_Addr;
-
- };
- //通讯录结构体
- struct Addressbooks
- {
- //保存联系人的数组
- person personArray[Max];
- //通讯录中当前记录的联系人的个数
- int m_Size;
- };
-
- //1、添加联系人
- void addPerson(Addressbooks* p)
- {
- //判断通讯录是否已满,如果满了就不再添加
- if (p->m_Size == Max)
- {
- cout << "通讯录已满,无法添加!" << endl;
- }
- else
- {
- cout << "请输入要添加的联系人的姓名,性别(1男,2女),年龄,电话,住址,以空格分割" << endl;
- string name;
- int sex;
- int age;
- string phone;
- string Addr;
- cin >> name >> sex >> age >> phone >> Addr;
- p->personArray[p->m_Size].m_name = name;
- p->personArray[p->m_Size].m_sex = sex;
- p->personArray[p->m_Size].age = age;
- p->personArray[p->m_Size].m_phone = phone;
- p->personArray[p->m_Size].m_Addr = Addr;
- //更新通讯录中的人数
- p->m_Size++;//等价于 p->m_Size += 1;
- /*
- while(1)//输错性别,就一直输入,直到正确才退出
- {
- cin >> sex;
- if (sex == 1 || sex == 2)
- {
- p->personArray[p->m_Size].m_sex = sex;
- break;
- }
- cout<<"输入有误,请重新输入<
- }
- */
- cout << "添加成功" << endl;
- system("pause");//请按任意键继续
- system("cls");//清屏操作
- }
-
- }
-
- //2、显示联系人
- void showPerson(Addressbooks* p)
- {
- if (p->m_Size == 0)
- {
- cout << "记录为空" << endl;
- }
- else
- {
- for (int i = 0; i < p->m_Size; i++)
- {
- cout <<"姓名:"<< p->personArray[i].m_name << " "
- << "性别:"<<(p->personArray[i].m_sex == 1 ? "男" : "女") << " "
- <<"年龄:"<< p->personArray[i].age << " "
- <<"电话:"<< p->personArray[i].m_phone << " "
- << "地址:"<
personArray[i].m_Addr << endl; - }
- }
- system("pause");//按任意键继续
- system("cls");//清屏
- }
-
- //检测联系人是否存在,如果存在返回所在数组的具体位置,不存在返回-1
- int isExit(Addressbooks* p,string name)
- {
- for (int i = 0; i < p->m_Size; i++)
- {
- //找到用户输入的姓名
- if (p->personArray[i].m_name == name)
- {
- return i;//找到了返回位置
- }
- }
- return -1;//遍历结束没找到,返回-1
- }
- //菜单界面
- void showMenu()
- {
- cout << "**************************"<
- cout << "***** 1、添加联系人 *****" << endl;
- cout << "***** 2、显示联系人 *****" << endl;
- cout << "***** 3、删除联系人 *****" << endl;
- cout << "***** 4、查找联系人 *****" << endl;
- cout << "***** 5、修改联系人 *****" << endl;
- cout << "***** 6、清空联系人 *****" << endl;
- cout << "***** 0、退出通讯录 *****" << endl;
- cout << "**************************" << endl;
- }
- int main()
- {
- Addressbooks abs;//创建通讯录结构体变量
- abs.m_Size = 0;//初始化通讯录中当前人员的个数
- int select;//创建用户选择输入的变量
-
- while (1)
- {
- showMenu();//菜单调用
- cin >> select;
- switch (select)
- {
- case 1://1、添加联系人
- addPerson(&abs);//利用地址传递,可以修改实参
- break;
- case 2://2、显示联系人
- showPerson(&abs);
- break;
- case 3:// 3、删除联系人
- {//注意 switch case case里是多段代码时,用花括号
- string name;
- cin >> name;
- if (isExit(&abs, name) == -1)
- {
- cout << "查无此人" << endl;
- }
- else
- {
- cout << "找到此人" << endl;
- }
- }
- break;
- case 4://4、查找联系人
- break;
- case 5://5、修改联系人
- break;
- case 6://6、清空联系人
- break;
- case 0://0、退出通讯录
- cout << "欢迎下次使用" << endl;
- system("pause");//按任意键继续
- return 0;//return 0退出函数,退出系统
- break;
- default:
- break;
- }
- }
-
- system("pause");//按任意键继续
- return 0;
- }
7.2删除联系人,测试删除联系人

- #include
- using namespace std;
-
- //#define Max 1000
- const int Max = 1000;
- //设计联系人结构体
- struct person
- {
- //姓名
- string m_name;
- //性别 1男2女
- int m_sex;
- //年龄
- int age;
- //电话
- string m_phone;
- //住址
- string m_Addr;
-
- };
- //通讯录结构体
- struct Addressbooks
- {
- //保存联系人的数组
- person personArray[Max];
- //通讯录中当前记录的联系人的个数
- int m_Size;
- };
-
- //1、添加联系人
- void addPerson(Addressbooks* p)
- {
- //判断通讯录是否已满,如果满了就不再添加
- if (p->m_Size == Max)
- {
- cout << "通讯录已满,无法添加!" << endl;
- }
- else
- {
- cout << "请输入要添加的联系人的姓名,性别(1男,2女),年龄,电话,住址,以空格分割" << endl;
- string name;
- int sex;
- int age;
- string phone;
- string Addr;
- cin >> name >> sex >> age >> phone >> Addr;
- p->personArray[p->m_Size].m_name = name;
- p->personArray[p->m_Size].m_sex = sex;
- p->personArray[p->m_Size].age = age;
- p->personArray[p->m_Size].m_phone = phone;
- p->personArray[p->m_Size].m_Addr = Addr;
- //更新通讯录中的人数
- p->m_Size++;//等价于 p->m_Size += 1;
- /*
- while(1)//输错性别,就一直输入,直到正确才退出
- {
- cin >> sex;
- if (sex == 1 || sex == 2)
- {
- p->personArray[p->m_Size].m_sex = sex;
- break;
- }
- cout<<"输入有误,请重新输入<
- }
- */
- cout << "添加成功" << endl;
- system("pause");//请按任意键继续
- system("cls");//清屏操作
- }
-
- }
-
- //2、显示联系人
- void showPerson(Addressbooks* p)
- {
- if (p->m_Size == 0)
- {
- cout << "记录为空" << endl;
- }
- else
- {
- for (int i = 0; i < p->m_Size; i++)
- {
- cout <<"姓名:"<< p->personArray[i].m_name << " "
- << "性别:"<<(p->personArray[i].m_sex == 1 ? "男" : "女") << " "
- <<"年龄:"<< p->personArray[i].age << " "
- <<"电话:"<< p->personArray[i].m_phone << " "
- << "地址:"<
personArray[i].m_Addr << endl; - }
- }
- system("pause");//按任意键继续
- system("cls");//清屏
- }
-
- //检测联系人是否存在,如果存在返回所在数组的具体位置,不存在返回-1
- int isExit(Addressbooks* p,string name)
- {
- for (int i = 0; i < p->m_Size; i++)
- {
- //找到用户输入的姓名
- if (p->personArray[i].m_name == name)
- {
- return i;//找到了返回位置
- }
- }
- return -1;//遍历结束没找到,返回-1
- }
-
- //删除联系人函数
- void deletePerson(Addressbooks* p)
- {
- string name;
- cout << "请输入要删除的联系人姓名" << endl;
- cin >> name;
- int res = isExit(p, name);
- if (res == -1)
- {
- cout << "查无此人" << endl;
- }
- else
- {
- //查到此人,进行删除
- //将要删除的人的后面的人往前移就好
- for (int i = res; res < p->m_Size - 1; i++)
- {
- //数据前移
- p->personArray[i] = p->personArray[i+1];
- }
- /*for (int i = res + 1; i < p->m_Size; i++)
- {
- //数据前移
- p->personArray[i-1] = p->personArray[i];
- }*/
- p->m_Size--;//更新通讯录中的人员数
- cout << "删除成功" << endl;
- }
- system("pause");
- system("cls");
- }
- //菜单界面
- void showMenu()
- {
- cout << "**************************"<
- cout << "***** 1、添加联系人 *****" << endl;
- cout << "***** 2、显示联系人 *****" << endl;
- cout << "***** 3、删除联系人 *****" << endl;
- cout << "***** 4、查找联系人 *****" << endl;
- cout << "***** 5、修改联系人 *****" << endl;
- cout << "***** 6、清空联系人 *****" << endl;
- cout << "***** 0、退出通讯录 *****" << endl;
- cout << "**************************" << endl;
- }
- int main()
- {
- Addressbooks abs;//创建通讯录结构体变量
- abs.m_Size = 0;//初始化通讯录中当前人员的个数
- int select;//创建用户选择输入的变量
-
- while (1)
- {
- showMenu();//菜单调用
- 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、查找联系人
- break;
- case 5://5、修改联系人
- break;
- case 6://6、清空联系人
- break;
- case 0://0、退出通讯录
- cout << "欢迎下次使用" << endl;
- system("pause");//按任意键继续
- return 0;//return 0退出函数,退出系统
- break;
- default:
- break;
- }
- }
-
- system("pause");//按任意键继续
- return 0;
- }
8、查找联系人

- #include
- using namespace std;
-
- //#define Max 1000
- const int Max = 1000;
- //设计联系人结构体
- struct person
- {
- //姓名
- string m_name;
- //性别 1男2女
- int m_sex;
- //年龄
- int age;
- //电话
- string m_phone;
- //住址
- string m_Addr;
-
- };
- //通讯录结构体
- struct Addressbooks
- {
- //保存联系人的数组
- person personArray[Max];
- //通讯录中当前记录的联系人的个数
- int m_Size;
- };
-
- //1、添加联系人
- void addPerson(Addressbooks* p)
- {
- //判断通讯录是否已满,如果满了就不再添加
- if (p->m_Size == Max)
- {
- cout << "通讯录已满,无法添加!" << endl;
- }
- else
- {
- cout << "请输入要添加的联系人的姓名,性别(1男,2女),年龄,电话,住址,以空格分割" << endl;
- string name;
- int sex;
- int age;
- string phone;
- string Addr;
- cin >> name >> sex >> age >> phone >> Addr;
- p->personArray[p->m_Size].m_name = name;
- p->personArray[p->m_Size].m_sex = sex;
- p->personArray[p->m_Size].age = age;
- p->personArray[p->m_Size].m_phone = phone;
- p->personArray[p->m_Size].m_Addr = Addr;
- //更新通讯录中的人数
- p->m_Size++;//等价于 p->m_Size += 1;
- /*
- while(1)//输错性别,就一直输入,直到正确才退出
- {
- cin >> sex;
- if (sex == 1 || sex == 2)
- {
- p->personArray[p->m_Size].m_sex = sex;
- break;
- }
- cout<<"输入有误,请重新输入<
- }
- */
- cout << "添加成功" << endl;
- system("pause");//请按任意键继续
- system("cls");//清屏操作
- }
-
- }
-
- //2、显示联系人
- void showPerson(Addressbooks* p)
- {
- if (p->m_Size == 0)
- {
- cout << "记录为空" << endl;
- }
- else
- {
- for (int i = 0; i < p->m_Size; i++)
- {
- cout <<"姓名:"<< p->personArray[i].m_name << " "
- << "性别:"<<(p->personArray[i].m_sex == 1 ? "男" : "女") << " "
- <<"年龄:"<< p->personArray[i].age << " "
- <<"电话:"<< p->personArray[i].m_phone << " "
- << "地址:"<
personArray[i].m_Addr << endl; - }
- }
- system("pause");//按任意键继续
- system("cls");//清屏
- }
-
- //检测联系人是否存在,如果存在返回所在数组的具体位置,不存在返回-1
- int isExit(Addressbooks* p,string name)
- {
- for (int i = 0; i < p->m_Size; i++)
- {
- //找到用户输入的姓名
- if (p->personArray[i].m_name == name)
- {
- return i;//找到了返回位置
- }
- }
- return -1;//遍历结束没找到,返回-1
- }
-
- //3、删除联系人函数
- void deletePerson(Addressbooks* p)
- {
- string name;
- cout << "请输入要删除的联系人姓名" << endl;
- cin >> name;
- int res = isExit(p, name);
- if (res == -1)
- {
- cout << "查无此人" << endl;
- }
- else
- {
- //查到此人,进行删除
- //将要删除的人的后面的人往前移就好
- for (int i = res; res < p->m_Size - 1; i++)
- {
- //数据前移
- p->personArray[i] = p->personArray[i+1];
- }
- /*for (int i = res + 1; i < p->m_Size; i++)
- {
- //数据前移
- p->personArray[i-1] = p->personArray[i];
- }*/
- p->m_Size--;//更新通讯录中的人员数
- cout << "删除成功" << endl;
- }
- system("pause");
- system("cls");
- }
-
- //4、查找联系人
- void findPerson(Addressbooks* p)
- {
- cout << "请输入要查找的联系人姓名" << endl;
- string name;
- cin >> name;
- int res = isExit(p, name);
- if (res == -1)
- {
- cout << "查无此人" << endl;
- }
- else
- {
- cout << "姓名:" << p->personArray[res].m_name << " "
- << "性别:" << (p->personArray[res].m_sex == 1 ? "男" : "女") << " "
- << "年龄:" << p->personArray[res].age << " "
- << "电话:" << p->personArray[res].m_phone << " "
- << "住址:" << p->personArray[res].m_Addr << endl;
- }
- system("pause");
- system("cls");
- }
- //菜单界面
- void showMenu()
- {
- cout << "**************************"<
- cout << "***** 1、添加联系人 *****" << endl;
- cout << "***** 2、显示联系人 *****" << endl;
- cout << "***** 3、删除联系人 *****" << endl;
- cout << "***** 4、查找联系人 *****" << endl;
- cout << "***** 5、修改联系人 *****" << endl;
- cout << "***** 6、清空联系人 *****" << endl;
- cout << "***** 0、退出通讯录 *****" << endl;
- cout << "**************************" << endl;
- }
- int main()
- {
- Addressbooks abs;//创建通讯录结构体变量
- abs.m_Size = 0;//初始化通讯录中当前人员的个数
- int select;//创建用户选择输入的变量
-
- while (1)
- {
- showMenu();//菜单调用
- 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、修改联系人
- break;
- case 6://6、清空联系人
- break;
- case 0://0、退出通讯录
- cout << "欢迎下次使用" << endl;
- system("pause");//按任意键继续
- return 0;//return 0退出函数,退出系统
- break;
- default:
- break;
- }
- }
-
- system("pause");//按任意键继续
- return 0;
- }
9.修改联系人

- #include
- using namespace std;
-
- //#define Max 1000
- const int Max = 1000;
- //设计联系人结构体
- struct person
- {
- //姓名
- string m_name;
- //性别 1男2女
- int m_sex;
- //年龄
- int age;
- //电话
- string m_phone;
- //住址
- string m_Addr;
-
- };
- //通讯录结构体
- struct Addressbooks
- {
- //保存联系人的数组
- person personArray[Max];
- //通讯录中当前记录的联系人的个数
- int m_Size;
- };
-
- //1、添加联系人
- void addPerson(Addressbooks* p)
- {
- //判断通讯录是否已满,如果满了就不再添加
- if (p->m_Size == Max)
- {
- cout << "通讯录已满,无法添加!" << endl;
- }
- else
- {
- cout << "请输入要添加的联系人的姓名,性别(1男,2女),年龄,电话,住址,以空格分割" << endl;
- string name;
- int sex;
- int age;
- string phone;
- string Addr;
- cin >> name >> sex >> age >> phone >> Addr;
- p->personArray[p->m_Size].m_name = name;
- p->personArray[p->m_Size].m_sex = sex;
- p->personArray[p->m_Size].age = age;
- p->personArray[p->m_Size].m_phone = phone;
- p->personArray[p->m_Size].m_Addr = Addr;
- //更新通讯录中的人数
- p->m_Size++;//等价于 p->m_Size += 1;
- /*
- while(1)//输错性别,就一直输入,直到正确才退出
- {
- cin >> sex;
- if (sex == 1 || sex == 2)
- {
- p->personArray[p->m_Size].m_sex = sex;
- break;
- }
- cout<<"输入有误,请重新输入<
- }
- */
- cout << "添加成功" << endl;
- system("pause");//请按任意键继续
- system("cls");//清屏操作
- }
-
- }
-
- //2、显示联系人
- void showPerson(Addressbooks* p)
- {
- if (p->m_Size == 0)
- {
- cout << "记录为空" << endl;
- }
- else
- {
- for (int i = 0; i < p->m_Size; i++)
- {
- cout <<"姓名:"<< p->personArray[i].m_name << " "
- << "性别:"<<(p->personArray[i].m_sex == 1 ? "男" : "女") << " "
- <<"年龄:"<< p->personArray[i].age << " "
- <<"电话:"<< p->personArray[i].m_phone << " "
- << "地址:"<
personArray[i].m_Addr << endl; - }
- }
- system("pause");//按任意键继续
- system("cls");//清屏
- }
-
- //检测联系人是否存在,如果存在返回所在数组的具体位置,不存在返回-1
- int isExit(Addressbooks* p,string name)
- {
- for (int i = 0; i < p->m_Size; i++)
- {
- //找到用户输入的姓名
- if (p->personArray[i].m_name == name)
- {
- return i;//找到了返回位置
- }
- }
- return -1;//遍历结束没找到,返回-1
- }
-
- //3、删除联系人函数
- void deletePerson(Addressbooks* p)
- {
- string name;
- cout << "请输入要删除的联系人姓名" << endl;
- cin >> name;
- int res = isExit(p, name);
- if (res == -1)
- {
- cout << "查无此人" << endl;
- }
- else
- {
- //查到此人,进行删除
- //将要删除的人的后面的人往前移就好
- for (int i = res; res < p->m_Size - 1; i++)
- {
- //数据前移
- p->personArray[i] = p->personArray[i+1];
- }
- /*for (int i = res + 1; i < p->m_Size; i++)
- {
- //数据前移
- p->personArray[i-1] = p->personArray[i];
- }*/
- p->m_Size--;//更新通讯录中的人员数
- cout << "删除成功" << endl;
- }
- system("pause");
- system("cls");
- }
-
- //4、查找联系人
- void findPerson(Addressbooks* p)
- {
- cout << "请输入要查找的联系人姓名" << endl;
- string name;
- cin >> name;
- int res = isExit(p, name);
- if (res == -1)
- {
- cout << "查无此人" << endl;
- }
- else
- {
- cout << "姓名:" << p->personArray[res].m_name << " "
- << "性别:" << (p->personArray[res].m_sex == 1 ? "男" : "女") << " "
- << "年龄:" << p->personArray[res].age << " "
- << "电话:" << p->personArray[res].m_phone << " "
- << "住址:" << p->personArray[res].m_Addr << endl;
- }
- system("pause");
- system("cls");
- }
-
- //5.修改指定联系人
- void modifyPreson(Addressbooks* p)
- {
- cout << "请输入要修改的联系人姓名:" << endl;
- string name;
- cin >> name;
- int res = isExit(p, name);
- if (res == -1)
- {
- cout << "查无此人" << endl;
- }
- else
- {
- int select;
- while (1)
- {
- cout << "请输入要修改的内容,1:姓名 2:性别 3:年龄:4: 电话 5: 地址 0:修改完毕" << endl;
- cin >> select;
- switch (select)
- {
- case 1:
- {
- cout << "请输入姓名:" << endl;
- cin >> name;
- p->personArray[res].m_name = name;
- }
- break;
- case 2:
- {
- int sex;
- cout << "请输入性别:1 男 2 女" << endl;
- cin >> sex;
- p->personArray[res].m_sex= sex;
- }
- break;
- case 3:
- {
- int age;
- cout << "请输入年龄:" << endl;
- cin >> age;
- p->personArray[res].age = age;
- }
- break;
- case 4:
- {
- cout << "请输入电话:" << endl;
- cin >> name;
- p->personArray[res].m_phone = name;
- }
- break;
- case 5:
- {
- cout << "请输入地址:" << endl;
- cin >> name;
- p->personArray[res].m_Addr= name;
- }
- break;
- case 0:
- {
- cout << "修改完毕" << endl;
- system("pause");
- system("cls");
- return;
- }
- break;
- default:
- break;
- }
- }
- }
- system("pause");
- system("cls");
- }
- //菜单界面
- void showMenu()
- {
- cout << "**************************"<
- cout << "***** 1、添加联系人 *****" << endl;
- cout << "***** 2、显示联系人 *****" << endl;
- cout << "***** 3、删除联系人 *****" << endl;
- cout << "***** 4、查找联系人 *****" << endl;
- cout << "***** 5、修改联系人 *****" << endl;
- cout << "***** 6、清空联系人 *****" << endl;
- cout << "***** 0、退出通讯录 *****" << endl;
- cout << "**************************" << endl;
- }
- int main()
- {
- Addressbooks abs;//创建通讯录结构体变量
- abs.m_Size = 0;//初始化通讯录中当前人员的个数
- int select;//创建用户选择输入的变量
-
- while (1)
- {
- showMenu();//菜单调用
- 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、修改联系人
- modifyPreson(&abs);
- break;
- case 6://6、清空联系人
- break;
- case 0://0、退出通讯录
- cout << "欢迎下次使用" << endl;
- system("pause");//按任意键继续
- return 0;//return 0退出函数,退出系统
- break;
- default:
- break;
- }
- }
-
- system("pause");//按任意键继续
- return 0;
- }
10.清空联系人

- #include
- using namespace std;
-
- //#define Max 1000
- const int Max = 1000;
- //设计联系人结构体
- struct person
- {
- //姓名
- string m_name;
- //性别 1男2女
- int m_sex;
- //年龄
- int age;
- //电话
- string m_phone;
- //住址
- string m_Addr;
-
- };
- //通讯录结构体
- struct Addressbooks
- {
- //保存联系人的数组
- person personArray[Max];
- //通讯录中当前记录的联系人的个数
- int m_Size;
- };
-
- //1、添加联系人
- void addPerson(Addressbooks* p)
- {
- //判断通讯录是否已满,如果满了就不再添加
- if (p->m_Size == Max)
- {
- cout << "通讯录已满,无法添加!" << endl;
- }
- else
- {
- cout << "请输入要添加的联系人的姓名,性别(1男,2女),年龄,电话,住址,以空格分割" << endl;
- string name;
- int sex;
- int age;
- string phone;
- string Addr;
- cin >> name >> sex >> age >> phone >> Addr;
- p->personArray[p->m_Size].m_name = name;
- p->personArray[p->m_Size].m_sex = sex;
- p->personArray[p->m_Size].age = age;
- p->personArray[p->m_Size].m_phone = phone;
- p->personArray[p->m_Size].m_Addr = Addr;
- //更新通讯录中的人数
- p->m_Size++;//等价于 p->m_Size += 1;
- /*
- while(1)//输错性别,就一直输入,直到正确才退出
- {
- cin >> sex;
- if (sex == 1 || sex == 2)
- {
- p->personArray[p->m_Size].m_sex = sex;
- break;
- }
- cout<<"输入有误,请重新输入<
- }
- */
- cout << "添加成功" << endl;
- system("pause");//请按任意键继续
- system("cls");//清屏操作
- }
-
- }
-
- //2、显示联系人
- void showPerson(Addressbooks* p)
- {
- if (p->m_Size == 0)
- {
- cout << "记录为空" << endl;
- }
- else
- {
- for (int i = 0; i < p->m_Size; i++)
- {
- cout <<"姓名:"<< p->personArray[i].m_name << " "
- << "性别:"<<(p->personArray[i].m_sex == 1 ? "男" : "女") << " "
- <<"年龄:"<< p->personArray[i].age << " "
- <<"电话:"<< p->personArray[i].m_phone << " "
- << "地址:"<
personArray[i].m_Addr << endl; - }
- }
- system("pause");//按任意键继续
- system("cls");//清屏
- }
-
- //检测联系人是否存在,如果存在返回所在数组的具体位置,不存在返回-1
- int isExit(Addressbooks* p,string name)
- {
- for (int i = 0; i < p->m_Size; i++)
- {
- //找到用户输入的姓名
- if (p->personArray[i].m_name == name)
- {
- return i;//找到了返回位置
- }
- }
- return -1;//遍历结束没找到,返回-1
- }
-
- //3、删除联系人函数
- void deletePerson(Addressbooks* p)
- {
- string name;
- cout << "请输入要删除的联系人姓名" << endl;
- cin >> name;
- int res = isExit(p, name);
- if (res == -1)
- {
- cout << "查无此人" << endl;
- }
- else
- {
- //查到此人,进行删除
- //将要删除的人的后面的人往前移就好
- for (int i = res; res < p->m_Size - 1; i++)
- {
- //数据前移
- p->personArray[i] = p->personArray[i+1];
- }
- /*for (int i = res + 1; i < p->m_Size; i++)
- {
- //数据前移
- p->personArray[i-1] = p->personArray[i];
- }*/
- p->m_Size--;//更新通讯录中的人员数
- cout << "删除成功" << endl;
- }
- system("pause");
- system("cls");
- }
-
- //4、查找联系人
- void findPerson(Addressbooks* p)
- {
- cout << "请输入要查找的联系人姓名" << endl;
- string name;
- cin >> name;
- int res = isExit(p, name);
- if (res == -1)
- {
- cout << "查无此人" << endl;
- }
- else
- {
- cout << "姓名:" << p->personArray[res].m_name << " "
- << "性别:" << (p->personArray[res].m_sex == 1 ? "男" : "女") << " "
- << "年龄:" << p->personArray[res].age << " "
- << "电话:" << p->personArray[res].m_phone << " "
- << "住址:" << p->personArray[res].m_Addr << endl;
- }
- system("pause");
- system("cls");
- }
-
- //5.修改指定联系人
- void modifyPreson(Addressbooks* p)
- {
- cout << "请输入要修改的联系人姓名:" << endl;
- string name;
- cin >> name;
- int res = isExit(p, name);
- if (res == -1)
- {
- cout << "查无此人" << endl;
- }
- else
- {
- int select;
- while (1)
- {
- cout << "请输入要修改的内容,1:姓名 2:性别 3:年龄:4: 电话 5: 地址 0:修改完毕" << endl;
- cin >> select;
- switch (select)
- {
- case 1:
- {
- cout << "请输入姓名:" << endl;
- cin >> name;
- p->personArray[res].m_name = name;
- }
- break;
- case 2:
- {
- int sex;
- cout << "请输入性别:1 男 2 女" << endl;
- cin >> sex;
- p->personArray[res].m_sex= sex;
- }
- break;
- case 3:
- {
- int age;
- cout << "请输入年龄:" << endl;
- cin >> age;
- p->personArray[res].age = age;
- }
- break;
- case 4:
- {
- cout << "请输入电话:" << endl;
- cin >> name;
- p->personArray[res].m_phone = name;
- }
- break;
- case 5:
- {
- cout << "请输入地址:" << endl;
- cin >> name;
- p->personArray[res].m_Addr= name;
- }
- break;
- case 0:
- {
- cout << "修改完毕" << endl;
- system("pause");
- system("cls");
- return;
- }
- break;
- default:
- break;
- }
- }
- }
- system("pause");
- system("cls");
- }
-
- //6.清空联系人
- void cleanPerson(Addressbooks* p)
- {
- p->m_Size = 0; //将当前记录联系人数量设置为0
- cout << "通讯录已清空" << endl;
- system("pause");
- system("cls");
- }
- //菜单界面
- void showMenu()
- {
- cout << "**************************"<
- cout << "***** 1、添加联系人 *****" << endl;
- cout << "***** 2、显示联系人 *****" << endl;
- cout << "***** 3、删除联系人 *****" << endl;
- cout << "***** 4、查找联系人 *****" << endl;
- cout << "***** 5、修改联系人 *****" << endl;
- cout << "***** 6、清空联系人 *****" << endl;
- cout << "***** 0、退出通讯录 *****" << endl;
- cout << "**************************" << endl;
- }
- int main()
- {
- Addressbooks abs;//创建通讯录结构体变量
- abs.m_Size = 0;//初始化通讯录中当前人员的个数
- int select;//创建用户选择输入的变量
-
- while (1)
- {
- showMenu();//菜单调用
- 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、修改联系人
- modifyPreson(&abs);
- break;
- case 6://6、清空联系人
- cleanPerson(&abs);
- break;
- case 0://0、退出通讯录
- cout << "欢迎下次使用" << endl;
- system("pause");//按任意键继续
- return 0;//return 0退出函数,退出系统
- break;
- default:
- break;
- }
- }
-
- system("pause");//按任意键继续
- return 0;
- }
-
相关阅读:
IDEA Windows下SPARK连接Hive
cadence virtuoso layout drc error
C#switch…case…判断
GBase 8c维护审计日志(二)
O2OA(翱途)开发平台 V8.2已发布,更安全、更高效、更开放
IShellFolder2::GetDetailsOf第二个参数(UINT iColumn)数值对应详细信息的项
【二进制部署k8s-1.29.4】八、worker端安装kubelet和cotainerd
常见DOM操作
倍福PLC和C#通过ADS通信传输String类型
HCIA-HarmonyOS Application Developer 课程大纲
-
原文地址:https://blog.csdn.net/qq_37891604/article/details/128189108
-
最新文章
-
沪漂五周年了:我越来越迷茫了
Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
MySQL-Seconds_behind_master的精度误差
[MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
Agent OS :五种驯服不确定性的范式
PortSwigger SQL注入LAB11
数据库即时编译JIT
[Begin]AI Learn Data Day 0
深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU