第一次大作业,小记录一下
#include#include #include #include using namespace std; #define MAX 1000 //创建联系人结构体 struct Person { char m_Name[100];//姓名 char m_Phone[100]; //电话 char m_Addr[100]; //工作单位 char m_Email[100];//电子邮箱 }; //创建通讯录结构体 struct Addressbooks { struct Person personArray[MAX]; //通讯录中保存的联系人数组 int m_Size; //通讯录中人员个数 }; //1、添加联系人函数 void addPerson(Addressbooks* abs) { if (abs->m_Size == MAX) { //判断通讯录是否满了 printf("通讯录已满,无法添加"); return; } else { //姓名 char name[100]; printf("请输入姓名:"); scanf_s("%s", name); strcpy_s(abs->personArray[abs->m_Size].m_Name, name); //把得到的新信息覆盖原来的信息 //电话号码 printf("请输入电话号码:"); char phone[100]; scanf_s("%s", phone); strcpy_s(abs->personArray[abs->m_Size].m_Phone, phone); //工作单位 printf("请输入工作单位:"); char address[100]; scanf_s("%s", address); strcpy_s(abs->personArray[abs->m_Size].m_Addr, address); //电子邮箱 printf("请输入电子邮箱:"); char email[100]; scanf_s("%s", email); strcpy_s(abs->personArray[abs->m_Size].m_Email, email); //更新通讯录人数 abs->m_Size++; printf("添加成功!"); system("pause"); system("cls");//清屏 } } //2、显示联系人信息函数 void showPerson(Addressbooks* abs) { if (abs->m_Size == 0) { printf("当前记录为空"); } else { for (int i = 0; i < abs->m_Size; i++) { printf("姓名:%sn", abs->personArray[i].m_Name); printf("电话号码:%sn", abs->personArray[i].m_Phone); printf("工作单位:%sn", abs->personArray[i].m_Addr); printf("电子邮箱:%s", abs->personArray[i].m_Email); } } system("pause"); system("cls"); } //3、删除联系人函数 void deletePerson(Addressbooks* abs) { printf("请输入您要删除的联系人的姓名:"); char name[100]; scanf_s("%s", name); for (int i = 0; i < abs->m_Size; i++) { if (strcmp(abs->personArray[i].m_Name, name) == 0) { abs->personArray[i] = abs->personArray[i + 1];//删除功能 abs->m_Size--; printf("删除成功!"); } else if (strcmp(abs->personArray[i].m_Name, name) != 0) printf("查无此人"); } system("pause"); system("cls"); } //4、查找联系人函数 void findPerson(Addressbooks* abs) { printf("请输入您要查找的联系人的姓名:"); char name[100]; scanf_s("%s", name); for (int i = 0; i < abs->m_Size; i++) { if (strcmp(abs->personArray[i].m_Name, name) == 0) { printf("姓名:%sn", abs->personArray[i].m_Name); printf("电话号码:%sn", abs->personArray[i].m_Phone); printf("工作单位:%sn", abs->personArray[i].m_Addr); printf("电子邮箱:%sn", abs->personArray[i].m_Email); } else if (strcmp(abs->personArray[i].m_Name, name) != 0) printf("查无此人"); } system("pause"); system("cls"); } //5、修改联系人函数 void modifyPerson(Addressbooks* abs) { printf("请输入您要修改的联系人的姓名:"); char name[100]; scanf_s("%s", name); for (int i = 0; i < abs->m_Size; i++) { if (strcmp(abs->personArray[i].m_Name, name) == 0) { char name[100]; printf("请输入姓名:"); scanf_s("%s", name); strcpy_s(abs->personArray[i].m_Name, name); //把得到的新信息覆盖原来的信息 //电话号码 printf("请输入电话号码:"); char phone[100]; scanf_s("%s", phone); strcpy_s(abs->personArray[i].m_Phone, phone); //工作单位 printf("请输入工作单位:"); char address[100]; scanf_s("%s", address); strcpy_s(abs->personArray[i].m_Addr, address); //电子邮箱 printf("请输入电子邮箱:"); char email[100]; scanf_s("%s", email); strcpy_s(abs->personArray[i].m_Email, email); printf("修改成功!"); } else if (strcmp(abs->personArray[i].m_Name, name) != 0) printf("查无此人"); } system("pause"); system("cls"); } //菜单界面 void showMenu() { printf("***************************n"); printf("***** 1、添加联系人 *****n"); printf("***** 2、显示联系人 *****n"); printf("***** 3、删除联系人 *****n"); printf("***** 4、查找联系人 *****n"); printf("***** 5、修改联系人 *****n"); printf("***** 0、退出通讯录 *****n"); printf("***************************n"); } int main() { int select = 0; //创建通讯录 Addressbooks abs; //初始化通讯录中的人数 abs.m_Size = 0; while (true) { showMenu(); scanf_s("%d", &select); switch (select) { case 1: //添加联系人 addPerson(&abs); break; case 2: //显示联系人 showPerson(&abs); break; case 3: //删除联系人 deletePerson(&abs); break; case 4: //查找联系人 findPerson(&abs); break; case 5: //修改联系人 modifyPerson(&abs); break; case 0: //退出通讯录 printf("欢迎下次使用!"); system("pause"); return 0; break; default: break; } } system("pause"); return 0; }



