#include <iostream> //#include "add.h" #define MAX 10 using namespace std; 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; } struct Person{ string name; int gender;// 1:男,0:女 int age; string phone; string addr; }; struct Addressbooks{ Person personArr[MAX]; int size = 0; }; void addAds(Addressbooks * ads){ if(ads->size >= MAX){ cout<<"通讯录人数已经超过"<<MAX<<endl; return; } else{ cout<<"请输入姓名"<<endl; cin>>ads->personArr[ads->size].name; cout<<"请输入性别(1:男,2:女)"<<endl; while (true){ int gender; cin>>gender; if(gender == 1 || gender == 2){ ads->personArr[ads->size].gender = gender; break; } cout<<"输入有误"<<endl; } cout<<"请输入年龄"<<endl; cin>>ads->personArr[ads->size].age; cout<<"请输入电话"<<endl; cin>>ads->personArr[ads->size].phone; cout<<"请输入地址"<<endl; cin>>ads->personArr[ads->size].addr; cout<<"添加成功"<<endl; ads->size++; } } void showAds(Addressbooks * ads){ for (int i = 0; i < ads->size; ++i) { cout<<ads->personArr[i].name<<" "<< ads->personArr[i].gender<<" "<< ads->personArr[i].age<<" "<< ads->personArr[i].phone<<" "<< ads->personArr[i].addr<<" "<< endl; } system("clear"); } int getAdsIndex(Addressbooks * ads, string name){ for (int i = 0; i < ads->size; ++i) { if(ads->personArr[i].name == name){ return i; } } return -1; } void delAds(Addressbooks * ads){ cout<<"请输入姓名"<<endl; string name; cin>>name; int index = getAdsIndex(ads,name); if(index == -1){ cout<<"查无此人"<<endl; return; } for (int i = index; i < ads->size && i + 1 < ads->size - 1; ++i) { ads->personArr[i] = ads->personArr[i+1]; } ads->size--; cout<<"删除成功"<<endl; } void getAds(Addressbooks * ads){ cout<<"请输入姓名"<<endl; string name; cin>>name; int i = getAdsIndex(ads,name); if(i == -1){ cout<<"查无此人"<<endl; return; } cout<<ads->personArr[i].name<<" "<< ads->personArr[i].gender<<" "<< ads->personArr[i].age<<" "<< ads->personArr[i].phone<<" "<< ads->personArr[i].addr<<" "<< endl; } void updateAds(Addressbooks * ads){ cout<<"请输入姓名"<<endl; string name; cin>>name; int i = getAdsIndex(ads,name); if(i == -1){ cout<<"查无此人"<<endl; return; } cout<<"请输入姓名"<<endl; cin>>ads->personArr[i].name; cout<<"请输入性别(1:男,2:女)"<<endl; cin>>ads->personArr[i].gender; cout<<"请输入年龄"<<endl; cin>>ads->personArr[i].age; cout<<"请输入电话"<<endl; cin>>ads->personArr[i].phone; cout<<"请输入地址"<<endl; cin>>ads->personArr[i].addr; cout<<"修改成功"<<endl; } void clearAds(Addressbooks * ads){ ads->size = 0; cout<<"清理完成"<<endl; } int main() { int select; Addressbooks ads; while (true){ showMenu(); cin>> select; switch (select){ case 1: addAds(&ads); break; case 2: showAds(&ads); break; case 3: delAds(&ads); break; case 4: getAds(&ads); break; case 5: updateAds(&ads); break; case 6: clearAds(&ads); break; case 0: cout<<"欢迎下次使用"<<endl; return 0; default: break; } } return 0; }