python通讯录管理系统设计报告_6.案例-通讯录管理系统

#include

#include

using namespace std;

#define MAX 1000//最多存储个数

//个人属性

struct Person

{

string n_Name;

int m_Sex;

int m_Age;

string m_Phone;

string m_Addr;

};

//通讯录属性

struct Addressbooks

{

Person personArray[MAX];

int m_Size;//当前存储个数

};

//1.菜单界面

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* abs)

{

if (abs->m_Size == MAX)

{

cout << "通讯录已满,无法添加" << endl;

return;

}

else

{

//姓名

string name;

cout << "请输入姓名:" << endl;

cin >> name;

abs->personArray[abs->m_Size].n_Name = name;

//性别

cout << "请输入性别:" << endl;

cout << "1:男" << endl;

cout << "2.女" << endl;

int sex = 0;

while (true)

{

cin >> sex;

if (sex == 1 || sex == 2)

{

abs->personArray[abs->m_Size].m_Sex = sex;

break;

}

cout << "输入有误,请重新输入" << endl;

}

//年龄

int age = 0;

cout << "请输入年龄:" << endl;

while (true)

{

cin >> age;

if (age >= 0 && age <= 100)

{

abs->personArray[abs->m_Size].m_Age = age;

break;

}

cout << "您输入的年龄不符合实际,请重新输入" << endl;

}

//电话

cout << "请输入电话:" << endl;

string Phone;

while (true)

{

cin >> Phone;

if (Phone.length() == 11)

{

abs->personArray[abs->m_Size].m_Phone = Phone;

break;

}

cout << "您输入的电话不符合要求,请重新输入" << endl;

}

//住址

cout << "请输入家庭住址:" << endl;

string address;

cin >> address;

abs->personArray[abs->m_Size].m_Addr = address;

abs->m_Size++;

cout << "添加成功" << endl;

system("pause");//请按任意键继续

system("cls");//清屏

}

}

//显示

void showPerson(Addressbooks abs)

{

if (!abs.m_Size)

{

cout << "记录为空,请添加联系人" << endl;

//system("pause");

//return;

}

else

{

for (int i = 0; i < abs.m_Size; i++)

{

cout << "姓名:" << abs.personArray[i].n_Name<

cout << "性别:"<

cout << "年龄:" << abs.personArray[i].m_Age << "\t";

cout << "电话:" << abs.personArray[i].m_Phone << "\t";

cout << "地址:" << abs.personArray[i].m_Addr<

}

}

system("pause");

system("cls");

}

//是否存在

int isExist(Addressbooks abs,string name)

{

for (int i = 0; i < abs.m_Size; i++)

{

if (name == abs.personArray[i].n_Name)

{

return i;

}

}

return -1;

}

//删除

void deletePerson(Addressbooks* abs)

{

cout << "请输入您要删除的联系人:" << endl;

string name;

cin >> name;

int ret = isExist(*abs,name);

if (ret == -1)

{

cout << "查无此人" << endl;

}

else

{

for (int i = ret; i < abs->m_Size; i++)

{

abs->personArray[i] = abs->personArray[i + 1];

}

abs->m_Size--;//更新人数

cout << "删除成功" << endl;

}

system("pause");

system("cls");

}

//查找

void findPerson(Addressbooks abs)

{

string name;

cout << "请输入您要查找的联系人:" << endl;

cin >> name;

int ret = isExist(abs, name);

if (ret == -1)

{

cout << "查无此人" << endl;

}

else

{

cout << "姓名:" << abs.personArray[ret].n_Name << "\t";

cout << "性别:" << (abs.personArray[ret].m_Sex == 1 ? "男" : "女") << "\t";

cout << "年龄:" << abs.personArray[ret].m_Age << "\t";

cout << "电话:" << abs.personArray[ret].m_Phone << "\t";

cout << "地址:" << abs.personArray[ret].m_Addr << endl;

}

system("pause");

system("cls");

}

//修改

void modifyPerson(Addressbooks* abs)

{

cout << "请输入您要修改的联系人:" << endl;

string name;

cin >> name;

int ret = isExist(*abs, name);

if (ret == -1)

{

cout << "查无此人" << endl;

}

else

{

cout << "请输入要修改的姓名:" << endl;

string name;

cin >> name;

abs->personArray[ret].n_Name = name;

cout << "请输入要修改的性别:" << endl;

cout << "1:男" << endl;

cout << "2:女" << endl;

int sex=0;

while(true)

{

cin >> sex;

if (sex == 1 || sex == 2)

{

abs->personArray[ret].m_Sex = sex;

break;

}

else

{

cout << "输入有误,请重新输入" << endl;

}

}

cout << "请输入要修改的年龄:" << endl;

int age;

cin >> age;

abs->personArray[ret].m_Age = age;

cout << "请输入要修改的电话:" << endl;

string phone;

while (true)

{

cin >> phone;

if (phone.length() == 11)

{

abs->personArray[ret].m_Phone = phone;

break;

}

else

{

cout << "输入不符合规范,请重新输入" << endl;

}

}

cout << "请输入要修改的地址:" << endl;

string addr;

cin >> addr;

abs->personArray[ret].m_Addr = addr;

cout << "修改成功!" << endl;

}

system("pause");

system("cls");

}

//清空

void cleanPerson(Addressbooks* abs)

{

abs->m_Size = 0;//逻辑清空

cout << "通讯录已清空!" << endl;

system("pause");

system("cls");

}

int main()

{

Addressbooks abs;

abs.m_Size = 0;

int select = 0;//创建用户输入

while (true)

{

showMenu();

cin >> select;

switch (select)

{

case 1://1.添加联系人

addPerson(&abs);//地址传递可修改实参

break;

case 2://2.显示联系人

showPerson(abs);

break;

case 3://3.删除联系人

deletePerson(&abs);

break;

case 4://4.查找联系人

findPerson(abs);

break;

case 5://5.修改联系人

modifyPerson(&abs);

break;

case 6://6.清空联系人

cleanPerson(&abs);

break;

case 0:        //0.退出通讯录

cout << "欢迎下次使用" << endl;

//system("pause");

return 0;

break;

default:

break;

}

}

system("pause");

return 0;

}

你可能感兴趣的:(python通讯录管理系统设计报告_6.案例-通讯录管理系统)