本文实例为大家分享了C++实现通讯录的具体代码,供大家参考,具体内容如下
简介:通讯录由一个拥有者以及通讯信息组成。
基本功能:增删改查
拥有者和通讯信息的基础结构相同,由struct构成 - struct Person {
- int m_id;
- string m_name;
- string m_tele;//手机号码可以作为id,但是过于长(11位)
- //string m_addr;
-
- Person& operator = (const Person& r) {
- if (this == &r) return *this;
- m_id = r.m_id;
- m_name = r.m_name;
- m_tele = r.m_tele;
- return *this;
- }
- };
复制代码Person:id+姓名+手机号。还可以添加需要的信息,例如:地址、性别
重载了一个=操作符
通讯录建立class AddressList - class AddressList {
- private:
- Person owner;//通讯录拥有者
- vector<Person> information;//通讯录:好友的信息组成
- public:
- AddressList();
- AddressList(const Person&, const vector<Person>& info = {});
- AddressList(const AddressList&);
-
- void Add(const Person&);//添加一个好友信息至通讯录
- void Delete();//通过姓名删除
- //通过电话号码删除
- void Modify();//输入id 修改姓名and号码
- void Search(int);//1:id搜索
- //2:姓名搜索
- //3:号码指定搜索
- void Print()const;
- //查看通讯录所有信息:仅显示id和姓名,详细信息输入id查看
- };
复制代码cpp: main.cpp:测试 - #include"AddressList.h"
- #include <iostream>
- using namespace std;
-
- int main() {
- Person p;
- {
- p.m_id = 0;
- p.m_name = "一号";
- p.m_tele = "11012011900";//任意
- }
- int I = 1;//m_id编号
- AddressList addr(p);
- {
- cout << "0.退出\n"
- << "1.添加\n"
- << "2.删除\n"
- << "3.修改\n"
- << "4.搜索\n"
- << "5.查看\n"
- << endl
- << endl;
- }
- int cho2;
- bool b(true);
- while (b) {
- int cho;
- int id;
- string name;
- string tele;
-
- cout << "Your choose:";
- cin >> cho;
- switch (cho) {
- case 0:
- b = false;
- break;
- case 1:
- cout << "添加信息:\n"
- << "姓名:";
- cin >> name;
- cout << "号码:";
- cin >> tele;
- id = I++;
- {
- p.m_id = id;
- p.m_name = name;
- p.m_tele = tele;
- }
- addr.Add(p);
- break;
- case 2:
- cout << "删除信息:\n";
- addr.Delete();
- break;
- case 3:
- cout << "修改信息:\n";
- addr.Modify();
- break;
- case 4:
- cout << "搜索信息\n"
- << "1.Id\n"
- << "2.Name\n"
- << "3.Telephone\n";
- cout << "Chosse:";
- cin >> cho2;
- addr.Search(cho2);
- break;
- case 5:
- cout << "查看信息\n";
- addr.Print();
- break;
- default:break;
- }
- cout << endl;
- }
- return 0;
- }
复制代码截图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持晓枫资讯。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |