通讯录管理系统
#include <stdlib.h>
#include <iostream>
#include <ostream>
#include <string>
using namespace std;
#define MAX 100 //最大容量
//联系人结构体 姓名、性别、年龄、联系电话、家庭住址
struct Person {
string Name; //姓名
int Sex; // 1为男 2为女
int Age; //年龄
string Phone; //手机号
string Addr; //家庭住址
};
struct Addressbooks {
struct Person personArray[MAX];
int size; //结构体大小
};
/*栈区*/
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;
}
void AddPerson(Addressbooks* ans) { //添加联系人
if (ans->size >= MAX) {
cout << "通讯录已满,无法添加" << endl;
return;
} else {
string name;
cout << "请输入姓名:" << endl;
cin >> name;
ans->personArray[ans->size].Name = name;
cout << "请输入性别:" << endl;
cout << "1 -- 男" << endl;
cout << "2 -- 女" << endl;
int sex = 0;
while (true) {
cin >> sex;
if (sex == 1 || sex == 2) {
ans->personArray[ans->size].Sex = sex;
break;
} else {
cout << "输入有误,请重新输入";
}
}
cout << "请输入年龄:" << endl;
int age = 0;
cin >> age;
ans->personArray[ans->size].Age = age;
cout << "请输入联系电话:" << endl;
string phone = "";
cin >> phone;
ans->personArray[ans->size].Phone = phone;
cout << "请输入家庭住址:" << endl;
string address;
cin >> address;
ans->personArray[ans->size].Addr = address;
ans->size += 1;
cout << "添加成功" << endl;
system("pause");
system("cls"); //清屏
}
}
void ShowPerson(Addressbooks * ans) { //显示联系人
if(ans->size == 0) {
cout << "当前记录为空" << endl;
} else {
for(int i = 0; i < ans->size; i++) {
cout << "姓名:" << ans->personArray[i].Name << "\t";
cout << "性别:" << (ans->personArray[i].Sex == 1 ? "男" : "女") << "\t";
cout << "年龄:" << ans->personArray[i].Age << "\t";
cout << "电话:" << ans->personArray[i].Phone << "\t";
cout << "住址:" << ans->personArray[i].Addr << endl;
}
}
system("pause");
system("cls");
}
int isExist(Addressbooks *ans , string name) { //判断联系人
for(int i = 0; i < ans->size ; i ++) {
if(ans->personArray[i].Name == name) {
return i;
}
}
return -1;
}
void DeletePerson(Addressbooks *ans) { //删除联系人
cout << "请输入您要删除的联系人" << endl;
string name;
cin >> name;
int res = isExist(ans , name);
if(res != -1) {
ans->personArray[res] = ans->personArray[res + 1];
ans->size --;
cout << "删除成功" << endl;
} else {
cout << "查无此人" << endl;
}
system("pause");
system("cls");
}
void FindPerson(Addressbooks * ans) { //查找联系人
cout << "请输入您要查找的联系人" << endl;
string name;
cin >> name;
int ret = isExist(ans, name);
if (ret != -1) {
cout << "姓名:" << ans->personArray[ret].Name << "\t";
cout << "性别:" << ans->personArray[ret].Sex << "\t";
cout << "年龄:" << ans->personArray[ret].Age << "\t";
cout << "电话:" << ans->personArray[ret].Phone << "\t";
cout << "住址:" << ans->personArray[ret].Addr << endl;
} else {
cout << "查无此人" << endl;
}
system("pause");
system("cls");
}
void ModifyPerson(Addressbooks * ans) { //修改联系人
cout << "请输入您要修改的联系人" << endl;
string name;
cin >> name;
int ret = isExist(ans, name);
if (ret != -1) {
//姓名
string name;
cout << "请输入姓名:" << endl;
cin >> name;
ans->personArray[ret].Name = name;
cout << "请输入性别:" << endl;
cout << "1 -- 男" << endl;
cout << "2 -- 女" << endl;
//性别
int sex = 0;
while (true) {
cin >> sex;
if (sex == 1 || sex == 2) {
ans->personArray[ret].Sex = sex;
break;
}
cout << "输入有误,请重新输入";
}
//年龄
cout << "请输入年龄:" << endl;
int age = 0;
cin >> age;
ans->personArray[ret].Age = age;
//联系电话
cout << "请输入联系电话:" << endl;
string phone = "";
cin >> phone;
ans->personArray[ret].Phone = phone;
//家庭住址
cout << "请输入家庭住址:" << endl;
string address;
cin >> address;
ans->personArray[ret].Addr = address;
cout << "修改成功" << endl;
} else {
cout << "查无此人" << endl;
}
system("pause");
system("cls");
}
void CleanPerson(Addressbooks * ans) { //清空通讯录
ans->size = 0;
cout << "通讯录已清空" << endl;
system("pause");
system("cls");
}
int main() {
Addressbooks ans;
ans.size = 0;
int select = 0;
while(1) {
ShowMenu();
cin >> select;
if (select == 1) {
AddPerson(&ans);
} else if (select == 2) {
ShowPerson(&ans);
} else if (select == 3) {
DeletePerson(&ans);
} else if (select == 4) {
FindPerson(&ans);
} else if (select == 5) {
ModifyPerson(&ans);
} else if (select == 6) {
CleanPerson(&ans);
} else if (select == 0) {
cout << "欢迎下次使用" << endl;
return 0;
break;
} else {
break;
}
}
return 0;
}
-------------------------------------------
个性签名:独学而无友,则孤陋而寡闻。做一个灵魂有趣的人!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!

浙公网安备 33010602011771号