level 1
#include<iostream>
#include<string>
#include<windows.h>
using namespace std;
#define MAX 100
//个人信息↓
struct grxx
{
string xingming="";
int nianling=0;
string xingbie="";//输入1 .男 2 .女
string dianhua="";
string dizhi="";
};
//通讯录↓
struct tongxunlu
{
struct grxx lianxiren[MAX];
int gesu=0;
};
// 界面↓
void jiemian();
// 添加↓
void tianjia(struct tongxunlu* lxr);
// 显示↓
void xiansi(tongxunlu xs);
// 删除↓
void sancu(struct tongxunlu* sc);
// 查找↓
void cazao(tongxunlu xs);
// 修改↓
void xiugai(struct tongxunlu* xg);
// 清空↓
void qingkong(struct tongxunlu* qk);
int main()
{
grxx xx;//创建个人信息
xx.dianhua = "";
xx.dizhi = "";
xx.nianling = 0;
xx.xingbie = "";
xx.xingming = "";
tongxunlu txl;//创建通讯录
txl.gesu = 0;//现有联系人个数
char bianhao;//用户输入的选择变量
while (1)
{
jiemian();//界面
cin >> bianhao;
switch (bianhao)
{
case '1'://添加功能
tianjia(&txl);//利用地址完成添加,可以修饰形参
break;
case '2'://显示功能
if (txl.gesu == 0)
{
system("cls");
cout << "现有联系人数量为0,请重新输入操作编号;" << endl;
break;
}
else
{
system("cls");
xiansi(txl);
break;
}
case '3'://删除功能
if (txl.gesu == 0)
{
system("cls");
cout << "现有联系人数量为0,请重新输入操作编号;" << endl;
break;
}
else
{
sancu(&txl);
break;
}
case '4'://查找功能
if (txl.gesu == 0)
{
system("cls");
cout << "现有联系人数量为0,请重新输入操作编号;" << endl;
break;
}
else
{
cazao(txl);
break;
}
case '5'://修改功能
if (txl.gesu == 0)
{
system("cls");
cout << "现有联系人数量为0,请重新输入操作编号;" << endl;
break;
}
else
{
xiugai(&txl);
break;
}
case '6'://清空
if (txl.gesu == 0)
{
system("cls");
cout << "现有联系人数量为0,请重新输入操作编号;" << endl;
break;
}
else
{
qingkong(&txl);
break;
}
case '0'://退出功能
cout << "欢迎下次使用,再见!" << endl;
system("pause");
return 0;
break;
default:
system("cls");
cout<< "请输入0——6之间的有效数字" << endl;
break;
}
}
}
//-----------------------------------------------------------------------------------------------------
void jiemian()
//界面
{
//设置显示字体为绿色
system("color 2");
cout << endl;
cout << endl;
cout << "\t\t" << "******************---通讯录---*******************" << endl;
cout << endl;
cout << "\t\t\t" << "*********1. 添加联系人 *********" << endl;
cout << "\t\t\t" << "*********2. 显示联系人 *********" << endl;
cout << "\t\t\t" << "*********3. 删除联系人 *********" << endl;
cout << "\t\t\t" << "*********4. 查找联系人 *********" << endl;
cout << "\t\t\t" << "*********5. 修改联系人 *********" << endl;
cout << "\t\t\t" << "*********6. 清空联系人 *********" << endl;
cout << "\t\t\t" << "*********0. 退出通讯录 *********" << endl;
cout << endl;
cout << "\t\t" << " ************----------------*************" << endl;
}
//-----------------------------------------------------------------------------------------------------------------
void tianjia(struct tongxunlu* lxr)
{
if (lxr->gesu == MAX)//判断通讯录是否满员
{
cout << "通讯录人数已满。" << endl;
return;
}
else
{
//添加联系人姓名
string name;
cout << "添加联系人姓名;" << endl;
cin >> name;
lxr->lianxiren[lxr->gesu].xingming = name;
int nl;
cout << "添加联系人年龄;" << endl;
cin >> nl;
lxr->lianxiren[lxr->gesu].nianling = nl;
cout << "添加联系人性别;" << endl;
cout << "1. 男 2. 女" << endl;
int i = 0;
cin >> i;
while (1)
{
if (i == 1)
{
lxr->lianxiren[lxr->gesu ].xingbie = "男";
break;
}
else if (i == 2)
{
lxr->lianxiren[lxr->gesu].xingbie = "女";
break;
}
else
{
cout << "请输入有效字符 1 或 2 " << endl;
cin >> i;
}
}
string sjh;
cout << "添加联系人手机号;" << endl;
cin >> sjh;
lxr->lianxiren[lxr->gesu].dianhua = sjh;
string dz;
cout << "添加联系人地址;" << endl;
cin >> dz;
lxr->lianxiren[lxr->gesu].dizhi = dz;
lxr->gesu ++;
system("cls");
cout << "联系人添加成功,你现在的联系人数量为: "<< lxr->gesu<<" 个,你可以进行其它操作。" << endl;
cout << "-----------------------------------------------------------------------" << endl;
2022年10月01日 16点10分
3
level 1
}
}
//----------------------------------------------------------------------------------------------
void xiansi(tongxunlu xs)
{
cout << "你通讯录现有的联系人数为: " << xs.gesu << "个。" << endl;
cout << "--------------------------------------------------------------" << endl;
for (int i = 0; i < xs.gesu; i++)
{
cout << "姓名:" << xs.lianxiren[i].xingming << "\t年龄:" << xs.lianxiren[i].nianling << "\t性别:" << xs.lianxiren[i].xingbie
<< "\t电话:" << xs.lianxiren[i].dianhua << "\t地址: " << xs.lianxiren[i].dizhi << endl;
}
}
//------------------------------------------------------------------------------------------------
void sancu(struct tongxunlu* sc)
{
cout << "现有联系人数量为" << sc->gesu << "个,请输入要删除联系人的姓名;" << endl;
cout << "-------------------------------------------------------------------------" << endl;
string name;
cin >> name;
for (int i = 0; i < sc->gesu; i++)
{
if (sc->lianxiren[i].xingming == name)
{
sc->lianxiren[i] = sc->lianxiren[i + 1];
sc->gesu = sc->gesu - 1;
system("cls");
cout << "联系人已删除,你可以进行其它操作;" << endl;
break;
}
else
{
cout << "查无此人,请输入删除的名字;" << endl;
cin >> name;
}
}
}
//--------------------------------------------------------------------------------------------------------------------
void cazao(tongxunlu xs)
{
string name;
int i;
cout << "请输入需要查找的姓名;" << endl;
cin >> name;
for (i = 0; i < xs.gesu; i++)
{
if (xs.lianxiren[i].xingming == name)
{
system("cls");
cout << "姓名:" << xs.lianxiren[i].xingming << "\t年龄:" << xs.lianxiren[i].nianling
<< "\t性别:" << xs.lianxiren[i].xingbie << "\t电话:" << xs.lianxiren[i].dianhua
<< "\t地址:" << xs.lianxiren[i].dizhi << endl;
return;
}
}
if (i == xs.gesu)
{
system("cls");
cout << "查无此人,请确认输入信息是否有误;" << endl;
return;
}
}
//---------------------------------------------------------------------------------------------------
void xiugai(struct tongxunlu* xg)
{
cout << "请输入需要修改的联系人姓名;" << endl;
string name;
int i;
cin >> name;
for (i = 0; i < xg->gesu; i++)
{
if (xg->lianxiren[i].xingming == name)
{
cout << "姓名: " << xg->lianxiren[i].xingming << "\t年龄: " << xg->lianxiren[i].nianling << "\t性别: " << xg->lianxiren[i].xingbie
<< "\t电话: " << xg->lianxiren[i].dianhua << "\t地址: " << xg->lianxiren[i].dizhi << endl;
break;
}
}
char ch;
while (1)
{
cout << "1. 修改姓名" << endl;
cout << "2. 修改年龄" << endl;
cout << "3. 修改性别" << endl;
cout << "4. 修改电话" << endl;
cout << "5. 修改地址" << endl;
cout << "6. 退出修改" << endl;
cout << "请选择上面的编号,修改或退出;" << endl;
cin >> ch;
string name;
int nl;
string xb;
string dh;
string dz;
switch (ch)
{
case '1'://修改姓名
cout << "请输入新的联系人姓名:" << endl;
cin >> name;
xg->lianxiren[i].xingming = name;
system("cls");
cout << "姓名: " << xg->lianxiren[i].xingming << "\t年龄: " << xg->lianxiren[i].nianling << "\t性别: " << xg->lianxiren[i].xingbie
<< "\t电话: " << xg->lianxiren[i].dianhua << "\t地址: " << xg->lianxiren[i].dizhi << endl;
cout << "修改成功!" << endl;
break;
case '2'://修改年龄
cout << "请输入新的联系人年龄:" << endl;
cin >> nl;
xg->lianxiren[i].nianling = nl;
system("cls");
cout << "姓名: " << xg->lianxiren[i].xingming << "\t年龄: " << xg->lianxiren[i].nianling << "\t性别: " << xg->lianxiren[i].xingbie
<< "\t电话: " << xg->lianxiren[i].dianhua << "\t地址: " << xg->lianxiren[i].dizhi << endl;
cout << "修改成功!" << endl;
break;
case '3'://修改性别
cout << "请输入新的联系人性别:" << endl;
cin >> xb;
xg->lianxiren[i].xingbie = xb;
system("cls");
cout << "姓名: " << xg->lianxiren[i].xingming << "\t年龄: " << xg->lianxiren[i].nianling << "\t性别: " << xg->lianxiren[i].xingbie
<< " 电话: " << xg->lianxiren[i].dianhua << " 地址: " << xg->lianxiren[i].dizhi << endl;
cout << "修改成功!" << endl;
break;
case '4'://修改电话
cout << "请输入新的联系人电话:" << endl;
cin >> dh;
xg->lianxiren[i].dianhua = dh;
system("cls");
cout << "姓名: " << xg->lianxiren[i].xingming << "\t年龄: " << xg->lianxiren[i].nianling << "\t性别: " << xg->lianxiren[i].xingbie
<< "\t电话: " << xg->lianxiren[i].dianhua << "\t地址: " << xg->lianxiren[i].dizhi << endl;
cout << "修改成功!" << endl;
break;
case '5'://修改地址
cout << "请输入新的联系人地址:" << endl;
cin >> dz;
xg->lianxiren[i].dizhi = dz;
system("cls");
cout << "姓名: " << xg->lianxiren[i].xingming << "\t年龄: " << xg->lianxiren[i].nianling << "\t性别: " << xg->lianxiren[i].xingbie
<< "\t电话: " << xg->lianxiren[i].dianhua << "\t地址: " << xg->lianxiren[i].dizhi << endl;
cout << "修改成功!" << endl;
break;
case '6'://退出修改
cout << "退出修改:" << endl;
system("cls");
return;
default:
cout << "你输入的编号错误,请选择1——6之间的有效编号:" << endl;
break;
}
}
}
//-----------------------------------------------------------------------------------------------------------
void qingkong(struct tongxunlu* qk)
{
for (int i = 0; i < qk->gesu; i++)
{
qk->lianxiren[i].dianhua = "";
qk->lianxiren[i].dizhi = "";
qk->lianxiren[i].nianling = 0;
qk->lianxiren[i].xingbie = "";
qk->lianxiren[i].xingming = "";
}
system("cls");
qk->gesu = 0;
cout << "联系人已全部清空:" << endl;
}
2022年10月01日 16点10分
4