#include"top.h"
int main()
{
books abs;
abs.size = 0;
int menu;
while (1)
{
showMenu();
cin >> menu;
switch (menu)
{
case 1:
addPerson(&abs);
break;
case 2:
showperson(abs);
break;
case 3:
delperson(&abs);
break;
case 4:
findperson(abs);
break;
case 5:
modifyperson(&abs);
break;
case 6:
clear(&abs);
break;
case 0:
cout << "thanks" << endl;
system("pause");
return 0;
break;
default:
cout << "wrong!" << endl;
break;
}
}
return 0;
}
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(books* abs)
{
if (abs->size == MAX)
{
cout << "MAX" << endl;
return;
}
else
{
string name;
int sex;
int age;
int phone;
string addr;
bool sex_flag = true, age_flag = true;
cout << "name" << endl;
cin >> name;
abs->personarray[abs->size].name = name;
while (sex_flag)
{
cout << "sex, 1->man, 2->woman" << endl;
cin >> sex;
if (sex == 1 || sex == 2)
{
abs->personarray[abs->size].sex = sex;
break;
}
else
{
cout << "wrong input!" << endl;
}
}
while (age_flag)
{
cout << "age" << endl;
cin >> age;
if (age > 0 && age < 120)
{
abs->personarray[abs->size].age = age;
break;
}
else
{
cout << "wrong input!" << endl;
}
}
cout << "phone" << endl;
cin >> phone;
abs->personarray[abs->size].phone = phone;
cout << "address" << endl;
cin >> addr;
abs->personarray[abs->size].addr = addr;
abs->size++;
cout << "success" << endl;
system("pause");
system("cls");
}
}
void showperson(books abs)
{
if (abs.size == 0)
{
cout << "none" << endl;
}
else
{
for (int i = 0; i < abs.size; i++)
{
cout << "No." << i+1 << "person:" << endl;
cout << "name:" << abs.personarray[i].name << endl;
cout << "age:" << abs.personarray[i].age << endl;
cout << "sex:";
int sex = abs.personarray[i].sex;
sex == 1 ? cout << "man" << endl : cout << "woman" << endl;
cout << "phone:" << abs.personarray[i].phone << endl;
cout << "addr:" << abs.personarray[i].addr << endl;
cout << endl;
}
}
system("pause");
system("cls");
}
int ifexist(books abs, string name)
{
for (int i = 0; i < abs.size; i++)
{
if (abs.personarray[i].name == name)
{
return i;
}
}
return -1;
}
void delperson(books* abs)
{
string d_name;
cout << "name" << endl;
cin >> d_name;
int ret = ifexist(*abs, d_name);
if (ret == -1)
{
cout << "none" << endl;
return;
}
else
{
for (int i = ret; i < abs->size; i++)
{
abs->personarray[i] = abs->personarray[i + 1];
abs->size--;
cout << "success" << endl;
}
}
system("pause");
system("cls");
}
void findperson(books abs)
{
string f_name;
cout << "name" << endl;
cin >> f_name;
int i = ifexist(abs, f_name);
if (i == -1)
{
cout << "can't find" << endl;
}
else
{
cout << "name:" << abs.personarray[i].name << endl;
cout << "age:" << abs.personarray[i].age << endl;
cout << "sex:";
int sex = abs.personarray[i].sex;
sex == 1 ? cout << "man" << endl : cout << "woman" << endl;
cout << "phone:" << abs.personarray[i].phone << endl;
cout << "addr:" << abs.personarray[i].addr << endl;
}
}
void modifyperson(books* abs)
{
string m_name;
int where;
bool flag=true;
cout << "name" << endl;
cin >> m_name;
int i = ifexist(*abs, m_name);
if (i == -1)
{
cout << "can't find" << endl;
}
else
{
while (flag)
{
cout << "why would you want to change?" << endl;
cout << "1-name; 2-sex; 3-age; 4-phone; 5-addr; 0-none" << endl;
cin >> where;
switch (where)
{
case 1:
{
string name;
cout << "name:" << endl;
cin >> name;
abs->personarray[i].name = name;
break;
}
case 2:
{
int sex;
bool sex_flag = true;
while (sex_flag)
{
cout << "sex, 1->man, 2->woman" << endl;
cin >> sex;
if (sex == 1 || sex == 2)
{
abs->personarray[i].sex = sex;
break;
}
else
{
cout << "wrong input!" << endl;
}
}
break;
}
case 3:
{
int age;
bool age_flag = true;
while (age_flag)
{
cout << "age" << endl;
cin >> age;
if (age > 0 && age < 120)
{
abs->personarray[abs->size].age = age;
break;
}
else
{
cout << "wrong input!" << endl;
}
}
break;
}
case 4:
{
int phone;
cout << "phone:" << endl;
cin >> phone;
abs->personarray[i].phone = phone;
break;
}
case 5:
{
string addr;
cout << "addr:" << endl;
cin >> addr;
abs->personarray[i].addr = addr;
break;
}
case 0:
flag = false;
break;
default:
cout << "wrong input!" << endl;
break;
}
}
}
system("pause");
system("cls");
}
void clear(books* abs)
{
abs->size = 0;
cout << "success" << endl;
system("pause");
system("cls");
}
C++简易通讯录,不能算是系统的系统
需积分: 0 24 浏览量
2022-09-17
00:29:24
上传
评论
收藏 2KB RAR 举报
跃起的影子
- 粉丝: 37
- 资源: 3
最新资源
- Picasso_v3.1 2.ipa
- chromedriver-mac-arm64.zip
- 蓝zapro.apk
- chromedriver-linux64.zip
- UCAS研一深度学习实验-MNIST手写数字识别python源码+详细注释(高分项目)
- 基于Python和PyTorch框架完成的一个手写数字识别实验源码(带MINIST手写数字数据集)+详细注释(高分项目)
- 基于Matlab在MNIST数据集上利用CNN完成手写体数字识别任务,并实现单层CNN反向传播算法+源代码+文档说明(高分项目)
- NVIDIA驱动、CUDA和Pytorch及其依赖
- 基于SVM多特征融合的微表情识别python源码+项目说明+详细注释(高分课程设计)
- html动态爱心代码一(附源码)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论0