C++通讯录管理系统

#include<iostream>

#include<string>

using namespace std;

#define MAX 1000

//全局变量

string USER = "admin";

string PASSWORLD = "admin";

struct person{

​string m_Name;//姓名

​int m_Gender;//性别

​int m_Avg;//年纪

​string m_phone;//电话

​string m_address;//地址

};



struct addressBooks{

​struct person personArray[MAX];

​int m_Size;//通讯录当中人数的个数

};





//菜单

void printMenu(){

​cout << "***********************" << endl;

​cout << "*****通讯录管理系统****" << endl;

​cout << "*****1.添加联系人  ****" << endl;

​cout << "*****2.显示联系人  ****" << endl;

​cout << "*****3.删除联系人  ****" << endl;

​cout << "*****4.查找联系人  ****" << endl;

​cout << "*****5.修改联系人  ****" << endl;

​cout << "*****6.清空联系人  ****" << endl;

​cout << "*****7.退出通讯录  ****" << endl;

​cout << "***********************" << endl;



}



//添加联系人

void addPerson(addressBooks *abs){

​if (abs->m_Size == MAX){

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

​}

​else{

​//姓名

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

​​string name;

​​cin >> name;

​​abs->personArray[abs->m_Size].m_Name = name;

​//性别

​​while (1){

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

​​​cout << "1--男" << endl;

​​​cout << "2--女" << endl;

​​​int Sex = 0;

​​​cin >> Sex;

​​​if (Sex == 1 || Sex == 2){

​​​​abs->personArray[abs->m_Size].m_Gender= Sex; break;

​​​}

​​​else{

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

​​​​system("pause");

​​​​system("cls");

​​​}

​​}

​//年纪

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

​​int avg;

​​cin >> avg;

​​abs->personArray[abs->m_Size].m_Avg = avg;

​//电话

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

​​string phone;

​​cin >> phone;

​​abs->personArray[abs->m_Size].m_phone =phone;

​//家庭住址

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

​​string address;

​​cin >> address;

​​abs->personArray[abs->m_Size].m_address =address;

​​abs->m_Size++;

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

​}

​system("pause");

​system("cls");

}



//显示联系人

void showPerson(addressBooks *abs){

​if (abs->m_Size == 0){

​​cout << "您的通讯录为空" << endl;

​}

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

​{

​​cout << "姓名:" << abs->personArray[i].m_Name<<"  ";

​​cout << "姓别:" << (abs->personArray[i].m_Gender == 1 ? "男" : "女" )<< "  ";

​​cout << "年龄:" << abs->personArray[i].m_Avg<<"  ";

​​cout << "电话:" << abs->personArray[i].m_phone<<"  ";

​​cout << "家庭住址:" << abs->personArray[i].m_address<<endl;

​}

​system("pause");

​system("cls");

}



//查看通讯录是否有该人

int isEmpty(addressBooks *abs,string name){

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

​{

​​if (abs->personArray[i].m_Name== name){

​​​return i;

​​}

​}

​return -1;

}



//删除联系人

void deletPerson(addressBooks *abs){



​cout << "请输入删除联系人的姓名:" << endl;

​string name;

​cin >> name;

​int checkIndex = 0;

​checkIndex=isEmpty(abs,name);

​if (checkIndex == -1){

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

​}

​else

​{

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

​​{

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

​​}

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

​}

​abs->m_Size--;

​system("pause");

​system("cls");

}



//查找联系人

void checkPerson(addressBooks *abs){

​cout << "请输入查找联系人的姓名:" << endl;

​string name;

​cin >> name;

​int index=isEmpty(abs, name);

​if (index == -1){

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

​}

​else

​{

​​    cout << "找到此人" << endl;

​​​cout << "姓名:" << abs->personArray[index].m_Name << "  ";

​​​cout << "姓别:" << (abs->personArray[index].m_Gender == 1 ? "男" : "女") << "  ";

​​​cout << "年龄:" << abs->personArray[index].m_Avg << "  ";

​​​cout << "电话:" << abs->personArray[index].m_phone << "  ";

​​​cout << "家庭住址:" << abs->personArray[index].m_address << endl;

​}

​system("pause");

​system("cls");

}



//修改联系人

void alterPerson(addressBooks *abs){

​cout << "请输入修改联系人的姓名:" << endl;

​string name;

​cin >> name;

​int index = isEmpty(abs, name);

​if (index == -1){

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

​}

​else

​{

​​int flag = 1;

​​while (flag){

​​​cout << "按1.修改姓名" << endl;

​​​cout << "按2.修改性别" << endl;

​​​cout << "按3.修改年龄" << endl;

​​​cout << "按4.修改电话" << endl;

​​​cout << "按5.修改住址" << endl;

​​​cout << "按6.结束修改" << endl;

​​​int k = 0;

​​​cin >> k;

​​​switch (k){

​​​case 1: cin >> abs->personArray[index].m_Name; break;

​​​case 2: cin >> abs->personArray[index].m_Gender; break;

​​​case 3: cin >> abs->personArray[index].m_Avg;break;

​​​case 4: cin >> abs->personArray[index].m_phone; break;

​​​case 5: cin >> abs->personArray[index].m_address; break;

​​​case 6: flag = 0; break;

​​​}

​​}

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



​}

​system("pause");

​system("cls");

}



//清空联系人

void nonePerson(addressBooks *abs){

​abs->m_Size = 0;

​cout << "清空成空!" << endl;

​system("pause");

​system("cls");

}



void main(){

​out:

​cout << "请输入您的用户名" << endl;

​string user;

​cin >> user;

​cout << "请输入您的密码" << endl;

​string passworld;

​cin >> passworld;

​while (1){

​​if (user == USER){

​​​if (passworld == PASSWORLD){

​​​​cout << "恭喜你登录成功" << endl; break;

​​​}

​​​else

​​​{

​​​​cout << "密码与用户名不匹配,请重新输入" << endl; goto out;

​​​}

​​}

​​else

​​{

​​​cout << "密码与用户名不匹配,请重新输入"<< endl; goto out;

​​}

​}



​system("pause");

​system("cls");



​struct addressBooks abs;

​abs.m_Size = 0;

​int flag = 1;

​while (flag){

​​printMenu();

​​int k;

​​cin >> k;

​​switch (k){

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

​​​addPerson(&abs);

​​​break;

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

​​​showPerson(&abs);

​​​break;

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

​​​deletPerson(&abs);

​​​break;

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

​​​checkPerson(&abs);

​​​break;

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

​​​alterPerson(&abs);

​​​break;

​​case 6://清空联系人;

​​​nonePerson(&abs);

​​​break;

​​case 7://退出通讯录

​​​flag = 0;

​​​break;

​​}

​}

​cout << "*********END*********" << endl;

​system("pause");

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Znovko

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值