用C++实现通讯录管理系统
系统中需要实现的功能如下:
1、添加联系人:向通讯录中添加新人,信息包括(姓名,性别,年龄,联系电话,家庭住址)最多记录1000人。
2、显示联系人:显示通讯录中所有联系人信息。
3、删除联系人:按照姓名进行删除指定联系人。
4、查找联系人:按照姓名查看指定联系人。
5、修改联系人:按照姓名重新修改指定联系人。
6、清空联系人:清空通讯录中所有信息。
7、退出通讯录:退出当前使用的通讯录。
#include#include using namespace std; const int MAX = 1000; struct person //联系人 { string name; //姓名 int sex; //性别 int age; //年龄 string phone; //电话 string add; //住址 }; struct addressbooks //通讯录 { struct person pe[MAX]; //通讯录中保存的联系人数组 int size; //当前联系人个数 }; //1、添加联系人 void add_person(addressbooks &abs) { if (abs.size == MAX) { cout << "通讯录已满,无法添加!" << endl; return; } else { cout << "请输入姓名: " << endl; cin >> abs.pe[abs.size].name; cout << "请输入性别: " << endl; cout << "1 ———— 男" << endl; cout << "2 ———— 女" << endl; int sex = 0; while (true) { cin >> sex; if (sex == 1 || sex == 2) { abs.pe[abs.size].sex = sex; break; } else cout << "请输入正确的性别!" << endl; } cout << "请输入年龄: " << endl; cin >> abs.pe[abs.size].age; cout << "请输入电话号码: " << endl; cin >> abs.pe[abs.size].phone; cout << "请输入住址: " << endl; cin >> abs.pe[abs.size].add; abs.size++; cout << "添加成功!" << endl; system("pause"); //请按任意键继续 system("cls"); //清屏 } } //2、显示联系人 void show_person(addressbooks &abs) { if (abs.size == 0) cout << "当前记录为空!" << endl; else { for (int i = 0; i < abs.size; i++) { cout << "姓名:" << abs.pe[i].name << "t"; int sex = abs.pe[i].sex; if (sex == 1) cout << "性别:男" << "t"; else cout << "性别:女" << "t"; cout << "年龄:" << abs.pe[i].age << "t"; cout << "电话:" << abs.pe[i].phone << "t"; cout << "住址:" << abs.pe[i].add << endl; } } system("pause"); system("cls"); } //检测联系人是否存在,若存在,返回其在数组中的位置,不存在,返回-1 int is_exist(addressbooks &abs, string name) { for (int i = 0; i < abs.size; i++) if (abs.pe[i].name == name) return i; return -1; } //3、删除联系人 void delete_person(addressbooks &abs) { cout << "请输入要删除的联系人: " << endl; string name; cin >> name; if (is_exist(abs, name) == -1) cout << "查无此人" << endl; else { for (int i = is_exist(abs, name); i < abs.size; i++) abs.pe[i] = abs.pe[i + 1]; abs.size--; cout << "删除成功!" << endl; } system("pause"); system("cls"); } //4、查找联系人 void find_person(addressbooks &abs) { cout << "请输入要查找的联系人:" << endl; string name; cin >> name; int re = is_exist(abs, name); if (re == -1) cout << "查无此人" << endl; else { cout << "姓名:" << abs.pe[re].name << "t"; int sex = abs.pe[re].sex; if (sex == 1) cout << "性别:男" << "t"; else cout << "性别:女" << "t"; cout << "年龄:" << abs.pe[re].age << "t"; cout << "电话:" << abs.pe[re].phone << "t"; cout << "住址:" << abs.pe[re].add << endl; } system("pause"); system("cls"); } //5、修改联系人 void modify_person(addressbooks &abs) { cout << "请输入要修改的联系人:" << endl; string name; cin >> name; int re = is_exist(abs, name); if (re == -1) cout << "查无此人" << endl; else { cout << "请输入姓名: " << endl; cin >> abs.pe[re].name; cout << "请输入性别: " << endl; cout << "1 ———— 男" << endl; cout << "2 ———— 女" << endl; int sex = 0; while (true) { cin >> sex; if (sex == 1 || sex == 2) { abs.pe[re].sex = sex; break; } else cout << "请输入正确的性别!" << endl; } cout << "请输入年龄: " << endl; cin >> abs.pe[re].age; cout << "请输入电话号码: " << endl; cin >> abs.pe[re].phone; cout << "请输入住址: " << endl; cin >> abs.pe[re].add; cout << "修改成功!" << endl; } system("pause"); system("cls"); } //6、清空联系人 void clean_person(addressbooks &abs) { abs.size = 0; cout << "通讯录已清空!" << 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.size = 0; int select = 0; //用户选择输入的变量 while (true) { showmenu(); //菜单调用 cin >> select; switch (select) { case 1: //添加联系人 add_person(abs); break; case 2: //显示联系人 show_person(abs); break; case 3: //删除联系人 delete_person(abs); break; case 4: //查找联系人 find_person(abs); break; case 5: //修改联系人 modify_person(abs); break; case 6: //清空联系人 clean_person(abs); break; case 0: //退出通讯录 cout << "欢迎下次使用!" << endl; return 0; } } return 0; }



