#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<<"\t"<<
ads->personArr[i].gender<<"\t"<<
ads->personArr[i].age<<"\t"<<
ads->personArr[i].phone<<"\t"<<
ads->personArr[i].addr<<"\t"<<
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<<"\t"<<
ads->personArr[i].gender<<"\t"<<
ads->personArr[i].age<<"\t"<<
ads->personArr[i].phone<<"\t"<<
ads->personArr[i].addr<<"\t"<<
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;
}