用C++写一个电话通讯录


目前我也是名初学C++的菜鸟,一直在B站上看的C++的网课,这个的C++电话通讯录是我写的第一个有一些功能的代码,所以在这里想分享给初学C++的小白们,如有任何问题或是建议可以在下方评论或是私信我,下面就先介绍一下这个电话通讯录的功能。

一、功能目录

1、添加联系人
2、显示联系人
3、删除联系人
4、查找联系人
5、修改联系人
6、清空联系人
0、退出联系人

二、功能介绍+部分函数代码的展示

  1、添加联系人

在控制台中输入1就表示是添加联系人的功能,随后会依次出现 “姓名:”、“性别:”、“年龄:”、“联系电话:”、“联系地址:”的字样,我们只需正确输入即可,其中“性别:”中只能输入“男”或“女”,如果输入其他的字样就会被要求重新输入。还有这个添加联系人的添加人数是1000人。

void addpeople(peoplebook* abs)
{
    if (abs->size == max) { cout << "联系人已满,无法添加" << endl; return; } else { string name; cout << "请输入名字: " << endl; cin >> name; abs->peoplearray[abs->size].name = name; string sex; while (true) { cout << "请输入性别: " << endl; cin >> sex; if (sex == "男" || sex == "女") { abs->peoplearray[abs->size].sex = sex; break; } else { cout << "输入错误,请重新输入" << endl; } } int age; cout << "请输入年龄: " << endl; cin >> age; abs->peoplearray[abs->size].age = age; string phone; cout << "请输入联系电话: " << endl; cin >> phone; abs->peoplearray[abs->size].phone = phone; string map; cout << "请输入联系地址: " << endl; cin >> map; abs->peoplearray[abs->size].map = map; cout << "添加成功" << endl; abs->size++; system("pause"); system("cls"); } }

 2、显示联系人

添加完联系人之后就可以显示联系人了,输入2就会显示出之前添加的联系人了。

void showpeople(peoplebook* abs)
{
    if (abs->size == 0) { cout << "对不起,未添加联系人,请添加联系人" << endl; } else { for(int i=0;i<abs->size;++i) { cout << "姓名: " << "\t"; cout << abs->peoplearray[i].name << "\t"; cout << "性别: " << "\t"; cout << abs->peoplearray[i].sex << "\t"; cout << "年龄: " << "\t"; cout << abs->peoplearray[i].age << "\t"; cout << "联系电话: " << "\t"; cout << abs->peoplearray[i].phone << "\t"; cout << "联系地址: " << "\t"; cout << abs->peoplearray[i].map << endl; } } system("pause"); system("cls"); }

 3、删除联系人

输入3后,再输入要删除的联系人的姓名就可以删除想要删除的联系人了。

void delpeople(peoplebook* abs)
{
    string name; cin >> name; int res = ispeople(name, abs); if (res == -1) { cout << "查无此人" << endl; } if(res != -1) { for (int i = res;i < abs->size;++i) { abs->peoplearray[i] = abs->peoplearray[i + 1]; } abs->size--; cout << "删除成功!!!" << endl; } system("pause"); system("cls"); }

4、查找联系人

添加完联系人之后,输入4再输入想要查找联系人的姓名就可以显示出来了。

void chapeople(peoplebook* abs)
{
    string name; cin >> name; int res = ispeople(name, abs); if (res == -1) { cout << "查无此人" << endl; } if (res != -1) { cout << "姓名: " << "\t"; cout << abs->peoplearray[res].name << "\t"; cout << "性别: " << "\t"; cout << abs->peoplearray[res].sex << "\t"; cout << "年龄: " << "\t"; cout << abs->peoplearray[res].age << "\t"; cout << "联系电话: " << "\t"; cout << abs->peoplearray[res].phone << "\t"; cout << "联系地址: " << "\t"; cout << abs->peoplearray[res].map << endl; } system("pause"); system("cls"); }

5、修改联系人

输入5再输入将要修改的联系人的姓名就可以重新添加联系人了。

void modifypeople(peoplebook* abs)
{
    string name; cin >> name; int res = ispeople(name, abs); if (res == -1) { cout << "查无此人" << endl; } if (res != -1) { string name; cout << "请输入名字: " << endl; cin >> name; abs->peoplearray[res].name = name; string sex; while (true) { cout << "请输入性别: " << endl; cin >> sex; if (sex == "男" || sex == "女") { abs->peoplearray[res].sex = sex; break; } else { cout << "输入错误,请重新输入" << endl; } } int age; cout << "请输入年龄: " << endl; cin >> age; abs->peoplearray[res].age = age; string phone; cout << "请输入联系电话: " << endl; cin >> phone; abs->peoplearray[res].phone = phone; string map; cout << "请输入联系地址: " << endl; cin >> map; abs->peoplearray[res].map = map; cout << "添加成功" << endl; } system("pause"); system("cls"); }

6、清空联系人

输入6就可以删除所有保存过的联系人了。

void cleanpeople(peoplebook* abs)
{
    abs->size = 0; cout << "已清空完毕" << endl; system("pause"); system("cls"); }

0、退出联系人

 输入0就可退出控制台。

三、主函数+剩余的代码

#include<iostream>
#include <string>
#define max 1000
using namespace std; 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; } struct people { string name; string sex; int age; string phone; string map; }; struct peoplebook { people peoplearray[max]; int size=0; }; int main() { int select = 0; string name; peoplebook abs; while (true) { showMenu(); cin >> select; switch (select) { case 1://1、添加联系人 addpeople(&abs); break; case 2://2、显示联系人 showpeople(&abs); break; case 3://3、删除联系人 cout << "请输入联系人的姓名:" << endl; delpeople(&abs); break; case 4://4、查找联系人 cout << "请输入联系人的姓名:" << endl; chapeople(&abs); break; case 5://5、修改联系人 cout << "请输入联系人的姓名:" << endl; modifypeople(&abs); break; case 6://、清空联系人 cleanpeople(&abs); break; case 0: cout << "欢迎下次使用" << endl; return 0; break; } } return 0; }

四、结尾

此代码是我在B站上的C++传智播客中的案例中学习到的,有想要学习的也可以去B站上学习。这个代码量对于初学C++来说是比较多的,但是难度并不是很大,主要是练习了struct、调用函数的使用。我相信如果把这些代码写下来的话,也可以增长一些对C++的兴趣。因为我自身也是初学C++的菜鸟,其中有任何建议和意见可以私信给我,或者可以互相讨论交流一起学习。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM