亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

用C++實現一個簡單的通訊錄

2019-11-08 02:10:43
字體:
來源:轉載
供稿:網友

    有了一定的C基礎之后,目前正在學習C++,今天嘗試用面向對象的思想編寫了一個簡單的通訊錄(之前在C的練習中做過類似的項目)

通過不停的敲代碼,出現問題也解決問題的過程中也稍微總結了一下新的知識。

遇到的第一個問題即是,我自定義了一個Person類用來存放每個聯系人的信息,然而在創建了一個容器vector<Person>V(0)后,

查閱了一下其他大神博客中寫的demo,發現都是用存放基本類型int來舉例子,初始化直接用V.push_back(int)就可以,但是自定義的類中,私有成員不止一個,但是這個函數我在用的過程中發現能且只能傳一個參數,也就是只能初始化一個私有成員,其他私有成員只能通過默認構造函數初始化,其他的私有成員只能通過賦值的方式再去重新寫入。

第二個問題,再用vector<Person>::iterator iter 迭代器遍歷的時候,如果要刪除某個元素,或者用Vector.push_back()插入一個元素的時候,迭代器就會失效。這時候如果不重置迭代器,iter會相當于一個野指針,編譯器也會報類似的錯誤。

下面貼上我寫的代碼:

#include <iostream>#include <vector>#include <map>#include "addr_book.h"using namespace std;int main(){    Tool T;T.enter_menu();vector<Person>V(0);//map<int,Person>M;//map<int,Person>::iterator it;    int n;int count;char name[20];int tel;//Person P;while(1){    count = 0;memset(name,0,sizeof(name));   cout << "請輸入操作命令:";   cin >> n;    switch (n)        {       case 1:   {   cout << "請輸入聯系人姓名:";   cin >> name;   cout << "請輸入聯系人電話:";   cin >> tel;   V.push_back(name);                (V.back()).Tel(tel);break;   }case 2:{   if(V.capacity() == 0){   cout << "未錄入聯系人!" << endl;break;}cout << "請輸入查找的聯系人姓名:";                cin >> name;   for(vector<Person>::iterator it = V.begin(); it != V.end();++it){   count = ((*it).Compare(name,count));}   if(count == 0){   cout << "查無此人!" << endl;}                break;}case 3:{   if(V.capacity() == 0){   cout << "未錄入聯系人!" << endl;break;}   for(vector<Person>::iterator it = V.begin(); it != V.end(); ++it){   (*it).Display();}break;}case 4:{   if(V.capacity() == 0){   cout << "未錄入聯系人!" << endl;break;}cout << "請輸入要修改的聯系人姓名:";cin >> name;for(vector<Person>::iterator it = V.begin(); it != V.end();++it)                {   count = ((*it).Update(name,count));}   if(count == 0){   cout << "查無此人!" << endl;}   break;             }                        case 5:{   if(V.capacity() == 0){   cout << "未錄入聯系人!" << endl;break;} cout << "請輸入要刪除的聯系人姓名:";cin >> name;for(vector<Person>::iterator it = V.begin(); it != V.end();++it)                {   int i = ((*it).Delete(name));if(i == 0){   V.erase(it);cout << "刪除成功!" << endl;count++;break;}}if(count == 0){   cout << "查無此人!" << endl;}            break;  }            case 6:{   return 0;}case 0:{   T.enter_menu();break;}default:{      cout << "輸入有誤,請重輸!" << endl;   break;}   }}    return 0;}

#ifndef _ADDR_BOOK_H#define _ADDR_BOOK_H#include <vector>class Person{public:    Person();Person(char *name);Person(int tel);Person(int tel,char *name);Person(char *name,int tel);void Tel(int tel);void Display();~Person();int Compare(char *name,int count);int Update(char *name,int count);int Delete(char *name);//friend void search(char *name,vector<Person> V);PRivate:    char name_[20];int tel_;};class Tool{public:    Tool();~Tool();void enter_menu();private:};#endif

#include <iostream>#include <vector>#include <string.h>#include "addr_book.h"using namespace std;#include <string.h>Person::Person(){    *name_ = '/0';tel_ = 0;}Person::Person(int tel){    tel_ = tel;}Person::Person(char *name){    //name_ = name;strcpy(name_,name);}Person::Person(int tel, char *name){    tel_ = tel;//name_ = name;}Person::Person(char *name,int tel){    tel_ = tel;//name_ = name;strcpy(name_,name);}void Person::Tel(int tel){    tel_ = tel;}void Person::Display(){    cout << name_ << "    " << tel_ << endl;}Person::~Person(){}int Person::Compare(char *name,int count){    if(strcmp(name,name_) == 0){   Display();count++;}else{   return count;}}int Person::Update(char *name,int count){    if(strcmp(name,name_) == 0){   Display();cout <<"請輸入修改后的姓名:";cin >> name_;cout << "請輸入修改后的手機號碼:";cin >>tel_;count++;}    else{   return count;}}int Person::Delete(char *name){    if(strcmp(name,name_) == 0){   return 0;}return -1;}/*****************************華美的分割線***********************//*void search(char *name,vector<Person> V){    int count = 0;for(vector<Person>::iterator it = V.begin(); it != V.end; ++it){   if(strcmp(name,(*it).name_) == 0){   (*it).Display;count++;}}if(count == 0){   cout << "查無此人" <<endl;}}*//*****************************華美的分割線***********************/Tool::Tool(){}Tool::~Tool(){}void Tool::enter_menu(){    cout << endl;cout << ("        *******歡迎使用通訊錄*******") << endl;cout << ("        *                                      *") << endl;cout << ("        *1.          添加聯系人信息            *") << endl;cout << ("        *2.          查找聯系人信息            *") << endl;cout << ("        *3.          顯示聯系人信息            *") << endl;cout << ("        *4.          修改聯系人信息            *") << endl;cout << ("        *5.          刪除聯系人信息            *") << endl;cout << ("        *6.               退出                 *") << endl;cout << ("        *7.                                    *") << endl;cout << ("        *8.          按0呼出主菜單             *") << endl;cout << ("        *********************") << endl;cout << endl;}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲视频专区在线| 久久99热精品这里久久精品| 97超碰国产精品女人人人爽| 国产视频在线观看一区二区| 久久久久久久久久婷婷| 欧美性在线观看| 精品国产欧美一区二区三区成人| 国产精品久久久久免费a∨大胸| 日韩不卡在线观看| 国产精品海角社区在线观看| 欧美激情国产日韩精品一区18| 亚洲欧洲日产国产网站| 夜夜狂射影院欧美极品| 亚洲色图国产精品| 一区二区三区四区精品| 欧美人与性动交a欧美精品| 国产91对白在线播放| 日韩欧美精品网站| 国产玖玖精品视频| 57pao国产精品一区| 亚洲qvod图片区电影| 国产美女被下药99| 97久久久久久| 亚洲天堂视频在线观看| 成人激情视频在线观看| 夜夜狂射影院欧美极品| 992tv成人免费视频| 久久的精品视频| 欧美黑人巨大xxx极品| 欧美黄色片在线观看| 久久五月情影视| 欧美日韩在线视频一区| 日本韩国欧美精品大片卡二| 视频直播国产精品| 欧美精品免费播放| 欧美福利小视频| 欧美极度另类性三渗透| 97avcom| 中文字幕在线看视频国产欧美在线看完整| 最近2019中文字幕在线高清| 美乳少妇欧美精品| 国产91精品久久久| 国产成人一区二区| 美女啪啪无遮挡免费久久网站| 国产精品久久久久久久久| 久热国产精品视频| 高清日韩电视剧大全免费播放在线观看| 国产日韩欧美日韩| 国产精品久久二区| 国产成人+综合亚洲+天堂| 97在线视频免费观看| 亚洲精品www久久久| 亚洲最大中文字幕| 久久91精品国产| 亚洲国产高清高潮精品美女| 91av视频在线免费观看| 欧美一区二区色| 成人美女免费网站视频| 日韩欧美极品在线观看| 亚洲一区免费网站| 欧美性69xxxx肥| 成人午夜小视频| 国产亚洲精品激情久久| 亚洲新声在线观看| 久久亚洲综合国产精品99麻豆精品福利| 欧美成人免费在线视频| 9.1国产丝袜在线观看| 亚洲天堂男人的天堂| 在线观看久久av| 欧美丝袜第一区| 亚洲最大av网| 欧美极品少妇xxxxⅹ免费视频| 欧美性xxxxxxxxx| 亚洲男人天堂2024| 国产成人精品在线播放| 日韩经典中文字幕在线观看| 国产成人精品av在线| 伊人激情综合网| 欧美肥老妇视频| 成人免费网站在线看| 亚洲一区久久久| 午夜精品免费视频| 92看片淫黄大片看国产片| 日韩大陆欧美高清视频区| 91网站在线免费观看| 一区二区三区在线播放欧美| 日韩在线小视频| 国产成人综合一区二区三区| 日韩欧美国产中文字幕| 欧美大成色www永久网站婷| 亚洲国内精品在线| 久久久极品av| 国产精品电影久久久久电影网| 91精品视频网站| 欧美日韩另类在线| 亚洲精品一区在线观看香蕉| 91在线高清免费观看| 国产亚洲美女精品久久久| 亚洲韩国青草视频| 日韩毛片在线看| 久久夜色撩人精品| 国产日韩av在线| 91av在线播放视频| 久久精品亚洲一区| 久久综合色影院| 亚洲精品午夜精品| 亚洲大胆人体av| 久久久伊人欧美| 久久视频免费在线播放| 色老头一区二区三区| 国产精品美女免费看| 欧美一级大片在线免费观看| 国内成人精品视频| 69国产精品成人在线播放| 亚洲综合中文字幕在线观看| 欧美激情a∨在线视频播放| 成人精品视频久久久久| 欧美电影免费观看电视剧大全| 川上优av一区二区线观看| 91精品国产乱码久久久久久蜜臀| 91成人福利在线| 国产成人91久久精品| 欧美另类在线观看| 亚洲黄色成人网| 久久久久久久成人| 亚洲精品国产电影| 亚洲欧美制服中文字幕| 91爱爱小视频k| 亚洲香蕉成视频在线观看| 亚洲视频在线看| 国产精品扒开腿做| 狠狠久久亚洲欧美专区| 久久久亚洲福利精品午夜| 精品久久久香蕉免费精品视频| 国产亚洲精品一区二555| 尤物99国产成人精品视频| 国产精品18久久久久久麻辣| 欧美精品一本久久男人的天堂| 久久6免费高清热精品| 国产精品久久久久久久久久久久久久| 久久91精品国产91久久跳| 最近的2019中文字幕免费一页| 国产亚洲精品久久久久动| 欧美又大又粗又长| 亚洲成人三级在线| 狠狠综合久久av一区二区小说| 午夜免费在线观看精品视频| 日韩三级成人av网| 国产美女精品视频| 亚洲电影在线观看| 国产一区二区三区日韩欧美| 国产成人激情小视频| 久久国产精品免费视频| 成人黄色在线播放| 国产在线精品成人一区二区三区| 久久久久久久久久久久av| 成人激情视频在线| 欧美电影在线观看完整版| 尤物tv国产一区| 中文字幕不卡在线视频极品| 国产一区二区三区视频免费| www.国产精品一二区| 日韩精品免费观看| 亚洲美女av网站|