做公司网站找谁,建筑资料管理规程,如何给异地网站做镜像,广告发布税率1、系统需求 通讯录是一个可以记录亲人、好友信息的工具。 本教程主要利用C来实现一个通讯录管理系统系统中需要实现的功能如下: 添加联系人:向通讯录中添加新人#xff0c;信息包括(姓名、性别、年龄、联系电话、家庭住址)最多记录1000人显示联系人:显示通讯录中所有联系人信… 1、系统需求 通讯录是一个可以记录亲人、好友信息的工具。 本教程主要利用C来实现一个通讯录管理系统系统中需要实现的功能如下: 添加联系人:向通讯录中添加新人信息包括(姓名、性别、年龄、联系电话、家庭住址)最多记录1000人显示联系人:显示通讯录中所有联系人信息删除联系人:按照姓名进行删除指定联系人查找联系人:按照姓名查看指定联系人信息修改联系人:按照姓名重新修改指定联系人清空联系人:清空通讯录中所有信息退出通讯录:退出当前使用的通讯录 2、菜单功能 #include iostream
using namespace std;//菜单界面
void showMenu() {cout ***** 1、添加联系人 ***** endl;cout ***** 2、显示联系人 ***** endl;cout ***** 3、删除联系人 ***** endl;cout ***** 4、查找联系人 ***** endl;cout ***** 5、修改联系人 ***** endl;cout ***** 6、清空联系人 ***** endl;cout ***** 0、退出通讯录 ***** endl;}int main() {//菜单的调用 showMenu();system(pause);return 0;
}3、退出功能 #include iostream
using namespace std;//菜单界面
void showMenu() {cout ***** 1、添加联系人 ***** endl;cout ***** 2、显示联系人 ***** endl;cout ***** 3、删除联系人 ***** endl;cout ***** 4、查找联系人 ***** endl;cout ***** 5、修改联系人 ***** endl;cout ***** 6、清空联系人 ***** endl;cout ***** 0、退出通讯录 ***** endl;}int main() {int select 0;//创建用户选择输入的变量while (true) {//菜单的调用 showMenu();cin select;switch (select) {case 1://1、添加联系人break;case 2://2、显示联系人break;case 3://3、删除联系人break;case 4://4、查找联系人break;case 5://5、修改联系人break;case 6://6、清空联系人break;case 0://0、退出通讯录cout 欢迎下次使用 endl;system(pause);return 0;break;default:break;}}system(pause);return 0;
}4、添加联系人 #include iostream
using namespace std;
#include string
#define MAX 1000//联系人的结构体
struct Person {//姓名string m_Name;//性别 1、男 2、女int m_Sex;//年龄int m_Age;//电话string m_Phone;//住址string m_Addr;
};//通讯录的结构体
struct Addressbooks {//通讯录中保存的联系人数组struct Person personArray[MAX];//通讯录中当前记录联系人个数int m_Size;
};//添加联系人
void addPerson(Addressbooks * abs) {//判断通讯录是否已满满了不在添加if (abs-m_Size MAX) {cout 通讯录已满无法添加 endl;return;}else {//添加具体联系人//姓名string name;cout 请输入姓名 endl;cin name;abs-personArray[abs-m_Size].m_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;}//年龄cout 请输入年龄 endl;int age 0;cin age;abs-personArray[abs-m_Size].m_Age age;//电话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_Addr address;//更新通讯录人数abs-m_Size;cout 添加成功 endl;system(pause);//按任意键继续system(cls);//清屏}
}//菜单界面
void showMenu() {cout ***** 1、添加联系人 ***** endl;cout ***** 2、显示联系人 ***** endl;cout ***** 3、删除联系人 ***** endl;cout ***** 4、查找联系人 ***** endl;cout ***** 5、修改联系人 ***** endl;cout ***** 6、清空联系人 ***** endl;cout ***** 0、退出通讯录 ***** endl;}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、显示联系人break;case 3://3、删除联系人break;case 4://4、查找联系人break;case 5://5、修改联系人break;case 6://6、清空联系人break;case 0://0、退出通讯录cout 欢迎下次使用 endl;system(pause);return 0;break;default:break;}}system(pause);return 0;
}5、显示联系人 //2、显示联系人
void showPerson(Addressbooks * abs) {//判断通讯录中人数是否为0if (abs-m_Size 0) { cout 当前记录为空 endl;}else {for (int i 0; i abs-m_Size; i) {cout 姓名 abs-personArray[i].m_Name 性别 (abs-personArray[i].m_Sex 1?男:女) 年龄 abs-personArray[i].m_Age 电话 abs-personArray[i].m_Phone 地址 abs-personArray[i].m_Addr endl;}}system(pause);//按任意键继续system(cls);//清屏
} 6、删除联系人 //检测联系人是否存在如果存在返回联系人所在数组中的具体位置不存在返回-1
//参数1 通讯录 参数2 对比姓名
int isExist(Addressbooks* abs,string name) {for (int i 0; i abs-m_Size; i) {//找到用户输入的姓名if (abs-personArray[i].m_Name name) {return 1;}}return -1;
}//3、删除指定联系人
void deletePerson(Addressbooks* abs) {cout 请输入您要删除的联系人 endl;string name;cin name;//ret-1 未查到 //ret!-1 查到了int retisExist(abs, name);if (ret ! -1) {//查找到人进行删除for (int i ret; i abs-m_Size; i) {//数据前移abs-personArray[i] abs-personArray[i 1];}abs-m_Size--;//更新通讯录中的人员数cout 删除成功 endl;}else {cout 查无此人 endl;}system(pause);//按任意键继续system(cls);//清屏
} 7、查找联系人 void findPerson(Addressbooks* abs) {cout 请输入您要查找的联系人 endl;string name;cin name;//判断指定的联系人是否存在int retisExist(abs, name);if (ret ! -1) {cout 姓名 abs-personArray[ret].m_Name \t;cout 性别 abs-personArray[ret].m_Sex \t;cout 年龄 abs-personArray[ret].m_Age \t;cout 电话 abs-personArray[ret].m_Phone \t;cout 地址 abs-personArray[ret].m_Addr endl;}else {cout 查无此人 endl;}system(pause);//按任意键继续system(cls);//清屏
} 8、修改联系人 //5、修改指定联系人信息
void modifyPerson(Addressbooks* abs) {cout 请输入您要修改的联系人 endl;string name;cin name;//判断指定的联系人是否存在int ret isExist(abs, name);if (ret ! -1) {//姓名string name;cout 请输入姓名 endl;cin name;abs-personArray[ret].m_Name name;//性别int sex0;cout 请输入性别 endl;cout 1 --- 男 endl;cout 2 --- 女 endl;while (true) {cin sex;if (sex 1 || sex 2) {abs-personArray[ret].m_Sex sex;break;}cout 输入有误重新输入 endl;}//年龄int age;cout 请输入年龄 endl;cin age;abs-personArray[ret].m_Age age;//电话string Phone;cout 请输入联系电话 endl;cin Phone;abs-personArray[ret].m_Phone Phone;//地址string address;cout 请输入地址 endl;cin address;abs-personArray[ret].m_Addr address;cout 修改成功 endl;}else {cout 查无此人 endl;}system(pause);//按任意键继续system(cls);//清屏
} 9、清空通讯录 //6、清空所有联系人
void cleanPerson(Addressbooks* abs) {abs-m_Size 0;cout 清空成功 endl;system(pause);//按任意键继续system(cls);//清屏
} 10、总结 #include iostream
using namespace std;
#include string
#define MAX 1000//联系人的结构体
struct Person {//姓名string m_Name;//性别 1、男 2、女int m_Sex;//年龄int m_Age;//电话string m_Phone;//住址string m_Addr;
};//通讯录的结构体
struct Addressbooks {//通讯录中保存的联系人数组struct Person personArray[MAX];//通讯录中当前记录联系人个数int m_Size;
};//1、添加联系人
void addPerson(Addressbooks * abs) {//判断通讯录是否已满满了不在添加if (abs-m_Size MAX) {cout 通讯录已满无法添加 endl;return;}else {//添加具体联系人//姓名string name;cout 请输入姓名 endl;cin name;abs-personArray[abs-m_Size].m_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;}//年龄cout 请输入年龄 endl;int age 0;cin age;abs-personArray[abs-m_Size].m_Age age;//电话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_Addr address;//更新通讯录人数abs-m_Size;cout 添加成功 endl;system(pause);//按任意键继续system(cls);//清屏}
}//2、显示联系人
void showPerson(Addressbooks * abs) {//判断通讯录中人数是否为0if (abs-m_Size 0) { cout 当前记录为空 endl;}else {for (int i 0; i abs-m_Size; i) {cout 姓名 abs-personArray[i].m_Name 性别 (abs-personArray[i].m_Sex 1?男:女) 年龄 abs-personArray[i].m_Age 电话 abs-personArray[i].m_Phone 地址 abs-personArray[i].m_Addr endl;}}system(pause);//按任意键继续system(cls);//清屏
}//检测联系人是否存在如果存在返回联系人所在数组中的具体位置不存在返回-1
//参数1 通讯录 参数2 对比姓名
int isExist(Addressbooks* abs,string name) {for (int i 0; i abs-m_Size; i) {//找到用户输入的姓名if (abs-personArray[i].m_Name name) {return i;}}return -1;
}//3、删除指定联系人
void deletePerson(Addressbooks* abs) {cout 请输入您要删除的联系人 endl;string name;cin name;//ret-1 未查到 //ret!-1 查到了int retisExist(abs, name);if (ret ! -1) {//查找到人进行删除for (int i ret; i abs-m_Size; i) {//数据前移abs-personArray[i] abs-personArray[i 1];}abs-m_Size--;//更新通讯录中的人员数cout 删除成功 endl;}else {cout 查无此人 endl;}system(pause);//按任意键继续system(cls);//清屏
}//4、查找联系人
void findPerson(Addressbooks* abs) {cout 请输入您要查找的联系人 endl;string name;cin name;//判断指定的联系人是否存在int retisExist(abs, name);if (ret ! -1) {cout 姓名 abs-personArray[ret].m_Name \t;cout 性别 abs-personArray[ret].m_Sex \t;cout 年龄 abs-personArray[ret].m_Age \t;cout 电话 abs-personArray[ret].m_Phone \t;cout 地址 abs-personArray[ret].m_Addr endl;}else {cout 查无此人 endl;}system(pause);//按任意键继续system(cls);//清屏
}//5、修改指定联系人信息
void modifyPerson(Addressbooks* abs) {cout 请输入您要修改的联系人 endl;string name;cin name;//判断指定的联系人是否存在int ret isExist(abs, name);if (ret ! -1) {//姓名string name;cout 请输入姓名 endl;cin name;abs-personArray[ret].m_Name name;//性别int sex0;cout 请输入性别 endl;cout 1 --- 男 endl;cout 2 --- 女 endl;while (true) {cin sex;if (sex 1 || sex 2) {abs-personArray[ret].m_Sex sex;break;}cout 输入有误重新输入 endl;}//年龄int age;cout 请输入年龄 endl;cin age;abs-personArray[ret].m_Age age;//电话string Phone;cout 请输入联系电话 endl;cin Phone;abs-personArray[ret].m_Phone Phone;//地址string address;cout 请输入地址 endl;cin address;abs-personArray[ret].m_Addr address;cout 修改成功 endl;}else {cout 查无此人 endl;}system(pause);//按任意键继续system(cls);//清屏
}//6、清空所有联系人
void cleanPerson(Addressbooks* abs) {abs-m_Size 0;cout 清空成功 endl;system(pause);//按任意键继续system(cls);//清屏
}//菜单界面
void showMenu() {cout ***** 1、添加联系人 ***** endl;cout ***** 2、显示联系人 ***** endl;cout ***** 3、删除联系人 ***** endl;cout ***** 4、查找联系人 ***** endl;cout ***** 5、修改联系人 ***** endl;cout ***** 6、清空联系人 ***** endl;cout ***** 0、退出通讯录 ***** endl;}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、删除联系人 //测试代码// //switch中case里语句过多需要将case中用{}括起来否则会报错//{// cout 请输入删除联系人姓名 endl;// string name;// cin name;// if (isExist(abs, name) -1) {// cout 查无此人 endl;// }// else {// cout 找到此人 endl;// }//}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;
}