#include<iostream>
using namespace std;
#include<string>
#define max 1000
//创建联系人结构体
typedef struct person
{
string name;
string sex;
int age;
int phone;
string address;
}person;
//创建通讯录结构体
typedef struct
{
struct person personArrey[max];
int size;
}addressbooks;
//显示通讯录界面
void showbooks(addressbooks* abs)
{
cout << "**************************" << endl;
cout << "****** 1.添加联系人 ******" << endl
<< "****** 2.显示联系人 ******" << endl
<< "****** 3.查找联系人 ******" << endl
<< "****** 4.删除联系人 ******" << endl
<< "****** 5.清空通讯录 ******" << endl
<< "****** 0.退出通讯录 ******" << endl;
cout << "**************************" << endl;
}
//添加联系人
void addperson(addressbooks* abs)
{
int ret = 0;
if (abs->size == max)
{
cout << "抱歉!通讯录已满." << endl;
}
cout << "请输入联系人姓名:" << endl;
cin>>abs->personArrey[abs->size].name;
while (ret!=1 && ret!=2)
{
cout << "性别:1 男 2 女" << endl;
cin >> ret;
if (ret != 1 && ret != 2)
{
cout << "输入错误" << endl;
continue;
}
abs->personArrey[abs->size].sex = (ret == 1 ? "男" : "女");
}
cout << "年龄:" << endl;
cin >> abs->personArrey[abs->size].age;
cout << "电话号码:" << endl;
cin >> abs->personArrey[abs->size].phone;
cout << "住址:" << endl;
cin >> abs->personArrey[abs->size].address;
abs->size++;
}
//显示联系人
void showperson(addressbooks* abs)
{
if (abs->size == 0)
cout << "无联系人" << endl;
else
{
for (int i = 0; i < abs->size; i++)
{
cout << "联系人姓名:" << abs->personArrey[i].name <<
" 联系人性别:" << abs->personArrey[i].sex <<
" 联系人年龄:" << abs->personArrey[i].age<<
" 联系人电话:" << abs->personArrey[i].phone<<
" 联系人住址: " << abs->personArrey[i].address << endl;
}
}
system("pause");
system("cls");
}
//查找联系人
void Getperson(addressbooks* abs,string name)
{
int ret = 0;
int i = 0;
if (abs->size == 0)
cout << "查无此人" << endl;
else
{
while (abs->personArrey[i].name != name && i < abs->size)
i++;
if (i == abs->size)
cout << "查无此人" << endl;
else
{
cout << "联系人姓名:" << abs->personArrey[i].name <<
" 联系人性别:" << abs->personArrey[i].sex <<
" 联系人年龄:" << abs->personArrey[i].age <<
" 联系人电话:" << abs->personArrey[i].phone <<
" 联系人住址: " << abs->personArrey[i].address << endl;
}
}
system("pause");
system("cls");
}
//删除联系人
void deleteperson(addressbooks* abs,string name_2)
{
void Emptybooks(addressbooks * abs);
int i = 0;
for (i = 0; i < abs->size; i++)
{
if (abs->personArrey[i].name == name_2)
{
if (abs->size == 1)
Emptybooks(abs);
else if (i == abs->size - 1)
abs->size--;
else
for (int j = i; j < abs->size - 1; j++)
abs->personArrey[j] = abs->personArrey[j + 1];
break;
}
}
if (i < abs->size)
cout << "删除成功" << endl;
else cout << "删除失败" << endl;
}
//清空通讯录
void Emptybooks(addressbooks* abs)
{
int ret = 0;
cout << "1 确认清空 2 取消清空" << endl;
cin >> ret;
if (ret == 1)
abs->size = 0;
}
int main()
{
string name_1;
string name_2;
addressbooks abs;
abs.size = 0;
int choice = 0;
while (true)
{
showbooks(&abs); //界面展示
cin >> choice; // cin>>choice>>endl; 报错
switch (choice)
{
case 0: //退出通讯录
cout << "欢迎下次使用" << endl;
system("pause");
return 0;
break; //问:break的作用是什么
case 1: //添加联系人
addperson(&abs);
system("cls");
break;
case 2: //显示联系人
showperson(&abs);
system("cls");
break;
case 3: //查找联系人
cout << "请输入联系人姓名:" << endl;
cin >> name_1;
Getperson(&abs, name_1);
system("cls");
break;
case 4: //删除联系人
cout << "请输入联系人姓名:" << endl;
cin >> name_2;
deleteperson(&abs, name_2);
system("cls");
break;
case 5: //清空通讯录
Emptybooks(&abs);
system("pause");
system("cls");
break;
default:
cout << "输入错误" << endl;
system("pause");
system("cls");
break;
}
}
system("pause");
return 0;
}
简单的通信管理系统
最新推荐文章于 2024-10-05 12:07:50 发布