#include<iostream> using namespace std; constexpr auto MAX = 1000; //联系人结构体 struct Person { string m_name; int m_sex; int m_age; string m_phone; string m_address; }; //通讯录结构体 struct AddressBooks { //联系人数组 struct Person personArray[MAX]; //记录联系人个数 int m_size; }; //添加人员 void addPerson(AddressBooks* abs) { //判断通讯录是否已满,已满就不再添加 if (abs->m_size == MAX) { cout << "通讯录已满" << endl; } else{ string name; int sex; int age; string phone; string address; cout << "请输入姓名:"; cin >> name; while (true) { cout << "请输入性别(0代表男,1代表女):"; cin >> sex; if (sex == 0 || sex == 1) { break; }else{ cout << "您输入有误,请重新输入!" << endl; } } cout << "请输入年龄:"; cin >> age; cout << "请输入电话:"; cin >> phone; cout << "请输入地址:"; cin >> address; abs->personArray[abs->m_size].m_name = name; abs->personArray[abs->m_size].m_sex = sex; abs->personArray[abs->m_size].m_age = age; abs->personArray[abs->m_size].m_phone = phone; abs->personArray[abs->m_size].m_address = address; 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[i].m_name << "\t" << "性别:" << (abs->personArray[i].m_sex == 0 ? "男" : "女") << "\t" << "年龄:" << abs->personArray[i].m_age << "\t" << "电话:" << abs->personArray[i].m_phone << "\t" << "地址:" << abs->personArray[i].m_address << endl; } } system("pause"); system("cls"); } //菜单界面 void showMenu() { cout << "************************" << endl; 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 = 0; while(true){ showMenu(); cout << "请输入相应的选项:" << endl; cin >> select; switch (select){ case 1://添加 addPerson(&abs); break; case 2://显示 showPerson(&abs); break; case 3://删除 break; case 4://修改 break; case 5://查找 break; case 6://清空 break; case 0://退出 cout << "欢迎下次使用" << endl; system("pause"); return 0; break; } } }
c++实例之通讯录管理系统之显示联系人功能(三)
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
上一篇:c++之结构体
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
C++之入门学习
C++入门知识详解,包括C++的命名空间域,输入输出,函数重载,引用等。
命名空间 C++输入输出 缺省参数 函数重载 C++ -
C++项目之通讯录管理系统
通讯录管理系统菜单功能功能描述:用户选择功能的界面菜单界面效果如下图:步骤:*1.封装函
c++ 项目管理 后端 封装 main函数