基本功能如下(用结构体存储信息,没有涉及文件读写):
**************************
**** 1、添加联系人 ****
**** 2、显示联系人 ****
**** 3、删除联系人 ****
**** 4、查找联系人 ****
**** 5、修改联系人 ****
**** 6、清空联系人 ****
**** 0、退出通讯录 ****
**************************
#include <iostream>
#include<string>
#define MAX 1000 // 定义最大输入的人员个数
using namespace std;
struct person {
//姓名
string m_name;
//性别: 男生1, 女生2
int m_sex;
//年龄
int m_age;
//电话
int m_tel;
//住址
string m_Addr;
};
struct Addressbooks {
//通讯录保存的联系人数组
struct person personArray[MAX];
//通讯录联系人个数
int m_size;
};
//1,添加联系人
void Addmenber(Addressbooks * abs) {
//判断通讯录是否已满
if (abs->m_size == MAX) {
cout << "联系人已满" << endl;
return;
}
else {
//姓名
string name;
cout << "请输入姓名:" << endl;
cin >> name;
abs->personArray[abs->m_size].m_name = name;
//性别
int sex = 0;
cout << "请输入性别,1:男,2:女" << endl;
cin >> sex;
while (sex != 1 && sex != 2) {
cout << "输入有误,请重新输入!" << endl;
}
abs->personArray[abs->m_size].m_sex = sex;
//年龄
int age = 0;
cout << "请输入年龄" << endl;
cin >> age;
abs->personArray[abs->m_size].m_age = age;
//电话
int tell = 0;
cout << "请输入电话" << endl;
cin >> tell;
abs->personArray[abs->m_size].m_tel = tell;
//住址
string Addr;
cout << "请输入住址" << endl;
cin >> Addr;
abs->personArray[abs->m_size].m_Addr = Addr;
abs->m_size++;
cout << "添加成功" << endl;
system("pause");
system("cls");
return;
}
}
//2、显示联系人
void showPerson(Addressbooks abs) {
if (abs.m_size == 0) {
cout << "通讯录为空" << endl;
system("pause");
system("cls");
return;
}
else {
for (int i = 0; i < abs.m_size;i++) {
cout << "姓名\t性别\t年龄\t电话\t\t住址" << endl;
cout << abs.personArray[i].m_name<<"\t";
cout << abs.personArray[i].m_sex << "\t";
cout << abs.personArray[i].m_age << "\t";
cout << abs.personArray[i].m_tel << "\t";
cout << abs.personArray[i].m_Addr << endl;
}
}
system("pause");
system("cls");
}
//判断姓名是否存在
int isExist(Addressbooks * abs,string name ) {
for (int i = 0; i < abs->m_size; i++) {
if (abs->personArray[i].m_name == name) {
return i;
}
}
cout << "该联系人不存在" << endl;
return -1;
}
//3、删除联系人
void deletPerson(Addressbooks * abs) {
cout << "请输入删除的姓名" << endl;
string name;
cin >> name;
int res = isExist(abs, name);
if (res != -1) {
for (int i = res; i < abs->m_size-1; i++) {
abs->personArray[i] = abs->personArray[i + 1];
}
abs->m_size--;
}
system("cls");
}
//4、查找联系人
void findPerson(Addressbooks* abs) {
cout << "请输入查找的姓名" << endl;
string name;
cin >> name;
int res = isExist(abs, name);
if(res != -1){
cout << "姓名:" << abs->personArray[res].m_name << endl;
cout << "性别:" << abs->personArray[res].m_sex << endl;
cout << "年龄:" << abs->personArray[res].m_age << endl;
cout << "电话:" << abs->personArray[res].m_tel << endl;
cout << "地址:" << abs->personArray[res].m_Addr << endl;
}
system("pause");
system("cls");
}
//5、修改联系人
void modifyPerson(Addressbooks* abs) {
cout << "请输入要修改的联系人姓名" << endl;
string name;
cin >> name;
int res = isExist(abs, name);
if (res != -1) {
cout << "请输入姓名" << endl;
string name;
cin >> name;
abs->personArray[res].m_name = name;
cout << "请输入性别,1:男,2:女" << endl;
int sex;
cin >> sex;
if (sex != 1 && sex != 2) {
cout << "输入有误,请重新输入!" << endl;
}
else {
abs->personArray[res].m_sex = sex;
}
cout << "请输入年龄" << endl;
int age;
cin >> age;
abs->personArray[res].m_age = age;
cout << "请输入电话" << endl;
int tell;
cin >> tell;
abs->personArray[res].m_tel = tell;
cout << "请输入地址" << endl;
string Addr;
cin >> Addr;
abs->personArray[res].m_Addr = Addr;
}
system("pause");
system("cls");
}
//6、清空联系人
void clearPerson(Addressbooks * abs) {
abs->m_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() {
int select = 0;
//
Addressbooks abs;
abs.m_size = 0;
while (true) {
showmenu();
cin >> select;
switch (select) {
case 1://1、添加
Addmenber(&abs);
break;
case 2://2、显示
showPerson(abs);
break;
case 3://3、删除
deletPerson(&abs);
break;
case 4://4、查找
findPerson(&abs);
break;
case 5://5、修改
modifyPerson(&abs);
break;
case 6://6、清空
clearPerson(&abs);
break;
case 0://0、退出
cout << "欢迎使用我们的系统!" << endl;
system("pause");
return 0;
break;
}
}
return 0;
}