投诉举报网站 建设方案,如何建立公司网站域名,设计师培训多少钱,网络广告策划的流程顺序为一、目的#xff1a;使用C实现通讯录二、包含功能#xff1a;添加联系人:向通讯录中添加新人#xff0c;信息包括#xff08;姓名、性别、年龄、联系电话、家庭住址#xff09;最多记录1000人显示联系人:显示通讯录中所有联系人信息删除联系人:按照姓名进行删除指定联系人…一、目的使用C实现通讯录二、包含功能添加联系人:向通讯录中添加新人信息包括姓名、性别、年龄、联系电话、家庭住址最多记录1000人显示联系人:显示通讯录中所有联系人信息删除联系人:按照姓名进行删除指定联系人查找联系人:按照姓名查看指定联系人信息修改联系人:按照姓名重新修改指定联系人清空联系人:清空通讯录中所有信息退出通讯录:退出当前使用的通讯录三、代码部分打印菜单void showMenu()
{cout ******************************* endl ******* 1、添加联系人 ******* endl ******* 2、删除联系人 ******* endl ******* 3、显示联系人 ******* endl ******* 4、查找联系人 ******* endl ******* 5、修改联系人 ******* endl ******* 6、清空联系人 ******* endl ******* 0、退出通讯录 ******* endl******************************* endl;cout 请选择 endl;
}首先因为我们要选择1、2、3、4、5、6、0这些数字从而开启各项功能所以这里我使用switch语句同时当我们选择1-6这些数字时功能完成后我们并不直接退出程序而是重新回到功能展示界面供我们选择功能因此我们使用while循环只有选择了功能0才执行退出功能 while (true){showMenu();int input 0;cin input;switch (input){case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:break;case 0:cout 退出程序 endl;return 0;break;default:break;}}而在实现添加联系人、删除联系人等的功能之前需要先有联系人才行因此接下来我们先实现联系人的创建这里使用2个结构体联系人结构体/通讯录结构体#define MAX 1000
struct person // 定义联系人结构体
{string name;int sex;int age;string tel;string address;
};
struct Contact // 定义通讯录结构体
{struct person ContactArray[MAX]; // 创建联系人结构体数组int size; // 确定当前通讯录数量上限为MAX1000
};添加联系人void Add(Contact* Con)
{if (Con-size MAX){cout 通讯录已满无法添加 endl;return;}else{cout 请输入姓名 endl;cin Con-ContactArray[Con-size].name;int sex 0;while (true){cout 请输入性别 endl;cout 男 - 1 女 - 2 endl;cin sex;if (sex 1 || sex 2){Con-ContactArray[Con-size].sex sex;break;}cout 输入错误请重新输入 endl;}int age 0;while (true){cout 请输入年龄 endl;cin age;if (age 0 age 110){Con-ContactArray[Con-size].sex age;break;}cout 输入错误请重新输入 endl;}cout 请输入电话 endl;cin Con-ContactArray[Con-size].tel;cout 请输入住址 endl;cin Con-ContactArray[Con-size].address;Con-size; // 数量1cout 添加成功 endl;system(pause); // 请按任意键继续}system(cls); // 清屏
}显示联系人void Show(Contact* Con)
{if (Con-size 0){cout 通讯录为空 endl;}else{for (int i 0; i Con-size; i){cout 序号 i1 \t;cout 姓名 Con-ContactArray[i].name \t;cout 性别 (Con-ContactArray[i].sex 1 ? 男 : 女) \t;// 1则返回男否则是女cout 年龄 Con-ContactArray[i].age \t;cout 电话 Con-ContactArray[i].tel \t;cout 住址 Con-ContactArray[i].address \t;cout endl;}system(pause); // 请按任意键继续}system(cls); // 清屏
}判断联系人是否存在int Exist(Contact* Con,string name)
{for (int i 0; i Con-size; i){if (Con-ContactArray[i].name name)return i;elsereturn -1;}
}查找联系人void Find(Contact* Con)
{cout 请输入要查找人的名字 endl;string name;cin name;int ret Exist(Con, name);if (ret -1){cout 查无此人 endl;}else{cout 序号 ret 1 \t;cout 姓名 Con-ContactArray[ret].name \t;cout 性别 (Con-ContactArray[ret].sex 1 ? 男 : 女) \t;// 1则返回男否则是女cout 年龄 Con-ContactArray[ret].age \t;cout 电话 Con-ContactArray[ret].tel \t;cout 住址 Con-ContactArray[ret].address \t;cout endl;}system(pause);system(cls); // 清屏
}删除指定联系人void Del(Contact* Con)
{cout 请输入要删除人的名字 endl;string name;cin name;int ret Exist(Con,name);if (ret -1){cout 查无此人 endl;}else{for (; ret Con-size; ret){// 数据前移Con-ContactArray[ret] Con-ContactArray[ret 1];}Con-size--;cout 删除成功 endl;}system(pause);system(cls);
}修改指定联系人void Mod(Contact* Con)
{cout 请输入要修改人的名字 endl;string name;cin name;int ret Exist(Con, name);if (ret -1){cout 查无此人 endl;}else{cout 请输入姓名 endl;cin Con-ContactArray[ret].name;int sex 0;while (true){cout 请输入性别 endl;cout 男 - 1 女 - 2 endl;cin sex;if (sex 1 || sex 2){Con-ContactArray[Con-size].sex sex;break;}cout 输入错误请重新输入 endl;}int age 0;while (true){cout 请输入年龄 endl;cin age;if (age 0 age 110){Con-ContactArray[Con-size].age age;break;}cout 输入错误请重新输入 endl;}cout 请输入电话 endl;cin Con-ContactArray[ret].tel;cout 请输入住址 endl;cin Con-ContactArray[ret].address;cout 修改成功 endl;}system(pause);system(cls); // 清屏
}
清空联系人void Des(Contact* Con)
{char input;cout 请确认是否要清空联系人 endl 确认输入Y 否则输入N endl;cin input;if (input Y){Con-size 0;cout 已清空通讯录 endl;}system(pause);system(cls); // 清屏
}主函数int main()
{Contact Con;Con.size 0;while (true){showMenu();int input 0;cin input;switch (input){case 1:Add(Con);break;case 2:Del(Con);break;case 3:Show(Con);break;case 4:Find(Con);break;case 5:Mod(Con);break;case 6:Des(Con);break;case 0:cout 退出程序 endl;return 0;break;default:break;}}return 0;
}