中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

C++項(xiàng)目(一):通訊錄管理系統(tǒng)-創(chuàng)新互聯(lián)

文章目錄
  • 項(xiàng)目介紹
  • 實(shí)現(xiàn)步驟
    • 1. 菜單顯示
    • 2. 添加聯(lián)系人
    • 3.顯示聯(lián)系人
    • 4.刪除聯(lián)系人
    • 5.查找聯(lián)系人
    • 6.修改聯(lián)系人
    • 7.清空聯(lián)系人
  • 總結(jié)

創(chuàng)新互聯(lián)是一家專(zhuān)業(yè)提供路北企業(yè)網(wǎng)站建設(shè),專(zhuān)注與網(wǎng)站建設(shè)、成都做網(wǎng)站、HTML5建站、小程序制作等業(yè)務(wù)。10年已為路北眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專(zhuān)業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。
項(xiàng)目介紹

用C++實(shí)現(xiàn)一個(gè)通訊錄管理系統(tǒng),實(shí)現(xiàn)
1、添加聯(lián)系人
2、顯示聯(lián)系人
3、刪除聯(lián)系人
4、查找聯(lián)系人
5、修改聯(lián)系人
6、清空聯(lián)系人
0、退出通訊錄
以上七個(gè)功能。


提示:以下是本篇文章正文內(nèi)容,下面案例可供參考

實(shí)現(xiàn)步驟 1. 菜單顯示
void showMenu(){cout<< "***********************"<< endl;
    cout<< "***** 1、添加聯(lián)系人 *****"<< endl;
    cout<< "***** 2、顯示聯(lián)系人 *****"<< endl;
    cout<< "***** 3、刪除聯(lián)系人 *****"<< endl;
    cout<< "***** 4、查找聯(lián)系人 *****"<< endl;
    cout<< "***** 5、修改聯(lián)系人 *****"<< endl;
    cout<< "***** 6、清空聯(lián)系人 *****"<< endl;
    cout<< "***** 0、退出通訊錄 *****"<< endl;
    cout<< "***********************"<< endl;
}
2. 添加聯(lián)系人

實(shí)現(xiàn)步驟:設(shè)計(jì)聯(lián)系人結(jié)構(gòu)體,設(shè)計(jì)通訊錄結(jié)構(gòu)體,main函數(shù)中創(chuàng)建通訊錄,封裝添加聯(lián)系人函數(shù),測(cè)試添加聯(lián)系人功能。

#include#includeusing namespace std;
const int MAX = 1000;

//聯(lián)系人結(jié)構(gòu)體
struct Person{string m_Name;
    int m_Sex;
    int m_Age;
    string m_Phone;
    string m_Addr;
};

//通訊錄結(jié)構(gòu)體
struct AddressBooks{struct Person personArray[MAX];
    int m_size;
};
//添加聯(lián)系人
void addPerson(AddressBooks *abs){if(abs->m_size == MAX){cout<< "通訊錄已滿(mǎn),無(wú)法添加"<< endl;
        return;
    }
    else{cout<< "請(qǐng)輸入姓名: "<< endl;
        string name;
        cin >>name;
        abs->personArray[abs->m_size].m_Name = name;

        cout<< "請(qǐng)輸入性別: "<< endl;
        cout<< "1:男 "<< endl;
        cout<< "2:女 "<< endl;
        int sex = 0;
        while(true){cin >>sex;
            if(sex == 1 or sex == 2){abs->personArray[abs->m_size].m_Sex = sex;
                break;
            }
            else{cout<< "輸入有誤,請(qǐng)重新輸入"<< endl;
            }
        }

        cout<< "請(qǐng)輸入年齡: "<< endl;
        int age = 0;
        while(true){cin >>age;
            if(age >= 0 and age<= 200){abs->personArray[abs->m_size].m_Age = age;
                break;
            }
            else{cout<< "輸入有誤,請(qǐng)重新輸入"<< endl;
            }
        }

        cout<< "請(qǐng)輸入電話: "<< endl;
        string phone;
        cin >>phone;
        abs->personArray[abs->m_size].m_Phone = phone;

        cout<< "請(qǐng)輸入地址: "<< endl;
        string address;
        cin >>address;
        abs->personArray[abs->m_size].m_Addr = address;
    }
    //更新通信錄
    abs->m_size ++;
    cout<< "添加成功!"<< endl;
    system("cls"); //清空界面
}
int main() {// 創(chuàng)建通訊錄
    AddressBooks abs;
    // 初始化通訊錄中人數(shù)
    abs.m_size = 0;

    while(true){showMenu();
        int select = 0;
        cin >>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 6:
                cleanPerson(&abs);
                break;
            case 0:
                cout<< "歡迎下次使用"<< endl;
                return 0;
                break;
        }
    }
    return 0;
}

注意事項(xiàng):通信錄大容量為MAX = 1000,且每次更新完需要將通信錄size加1.

3.顯示聯(lián)系人

代碼如下:

//顯示聯(lián)系人
void showPerson(AddressBooks * abs){if(abs->m_size == 0){cout<< "通信錄為空,請(qǐng)?zhí)砑勇?lián)系人"<< endl;
    }
    for(int i = 0; i< abs->m_size; i ++){cout<< "姓名: "<< abs->personArray[i].m_Name<< "\t";
        cout<< "性別: "<< (abs->personArray[i].m_Sex == 1 ? "男" : "女")<< "\t";
        cout<< "年齡: "<< abs->personArray[i].m_Age<< "\t";
        cout<< "電話: "<< abs->personArray[i].m_Phone<< "\t";
        cout<< "住址: "<< abs->personArray[i].m_Addr<< endl;
    }
    system("cls"); //清空界面
}
4.刪除聯(lián)系人

實(shí)現(xiàn)步驟:先通過(guò)名字判斷該聯(lián)系人是否在通訊錄中存在,若存在,則刪除,若不存在,則提示不存在。
由于刪除聯(lián)系人、查找聯(lián)系人、修改聯(lián)系人都需要提前判斷聯(lián)系人是否存在,所以將判斷是否存在寫(xiě)成一個(gè)函數(shù)isExit()函數(shù)來(lái)進(jìn)行判斷。

代碼如下:

//判斷聯(lián)系人是否存在
int isExit(AddressBooks * abs, string name){for(int i = 0; i< abs->m_size; i ++){if(abs->personArray[i].m_Name == name){return i;
        }
    }
    return -1;
}

//刪除聯(lián)系人
void deletePerson(AddressBooks * abs){cout<< "請(qǐng)輸入要?jiǎng)h除的聯(lián)系人姓名"<< endl;
    string name;
    cin >>name;
    int ret = isExit(abs, name);
    if(ret == -1){cout<< "通訊錄中此人不存在"<< endl;
    }
    else{for(int i = ret; i< abs->m_size; i ++){abs->personArray[i] = abs->personArray[i+1];
        }
        cout<< "查找到此人,刪除成功"<< endl;
    }
    abs->m_size--;
    system("cls"); //清空界面
}

注意事項(xiàng):isExit()函數(shù)輸入通信錄地址和查找的聯(lián)系人姓名,若聯(lián)系人存在,則返回聯(lián)系人所對(duì)應(yīng)的下標(biāo),若不存在,則返回-1。
使用該語(yǔ)句:abs->personArray[i] = abs->personArray[i+1];,將從下標(biāo)(即需要?jiǎng)h除的聯(lián)系人)開(kāi)始后的聯(lián)系人,依次覆蓋前一個(gè)下標(biāo),即完成了刪除操作。


5.查找聯(lián)系人

代碼如下:

void findPerson(AddressBooks * abs){cout<< "請(qǐng)輸入要查找的聯(lián)系人姓名"<< endl;
    string name;
    cin >>name;
    int ret = isExit(abs, name);
    if(ret == -1){cout<< "通訊錄中此人不存在"<< endl;
    }
    else{cout<< "查找到此人"<< endl;
        cout<< "姓名: "<< abs->personArray[ret].m_Name<< "\t";
        cout<< "性別: "<< (abs->personArray[ret].m_Sex == 1 ? "男" : "女")<< "\t";
        cout<< "年齡: "<< abs->personArray[ret].m_Age<< "\t";
        cout<< "電話: "<< abs->personArray[ret].m_Phone<< "\t";
        cout<< "住址: "<< abs->personArray[ret].m_Addr<< endl;
    }
    system("cls"); //清空界面
}
6.修改聯(lián)系人

代碼如下:

//修改聯(lián)系人
void modifyPerson(AddressBooks * abs){cout<< "請(qǐng)輸入要修改的聯(lián)系人姓名"<< endl;
    string name;
    cin >>name;
    int ret = isExit(abs, name);
    if(ret == -1){cout<< "通訊錄中此人不存在"<< endl;
    }
    else{cout<< "查找到此人"<< endl;
        string name;
        cout<< "請(qǐng)重新輸入姓名: "<< endl;
        cin >>name;
        abs->personArray[ret].m_Name = name;

        int sex;
        cout<< "請(qǐng)重新輸入性別: "<< endl;
        cout<< "1:男 "<< endl;
        cout<< "2:女 "<< endl;
        cin >>sex;
        abs->personArray[ret].m_Sex = sex;

        int age;
        cout<< "請(qǐng)重新輸入年齡: "<< endl;
        cin >>age;
        abs->personArray[ret].m_Age = age;

        string phone;
        cout<< "請(qǐng)重新輸入電話: "<< endl;
        cin >>phone;
        abs->personArray[ret].m_Phone = phone;

        string address;
        cout<< "請(qǐng)重新輸入地址: "<< endl;
        cin >>address;
        abs->personArray[ret].m_Addr = address;
    }
    system("cls"); //清空界面
}
7.清空聯(lián)系人

代碼如下:

//清空聯(lián)系人
void cleanPerson(AddressBooks * abs){abs->m_size = 0;
    system("cls"); //清空界面
}

將通信錄的size置為0,即完成清空操作。


總結(jié)

以上則使用C++完成了一個(gè)簡(jiǎn)單的通信錄管理系統(tǒng)。完整代碼見(jiàn)鏈接通信錄管理系統(tǒng)。

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

分享名稱(chēng):C++項(xiàng)目(一):通訊錄管理系統(tǒng)-創(chuàng)新互聯(lián)
文章位置:http://www.rwnh.cn/article8/ccgpip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷(xiāo)、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、App開(kāi)發(fā)網(wǎng)站設(shè)計(jì)、標(biāo)簽優(yōu)化、App設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作
嘉义县| 大同县| 宁波市| 新巴尔虎右旗| 易门县| 大关县| 普宁市| 上林县| 沙洋县| 崇礼县| 郴州市| 筠连县| 崇明县| 宿州市| 金华市| 岳阳县| 喀喇沁旗| 高陵县| 新干县| 平遥县| 涟源市| 东山县| 天水市| 大余县| 南开区| 常州市| 工布江达县| 错那县| 酉阳| 定兴县| 临汾市| 铁力市| 勐海县| 肥东县| 湖口县| 香港| 青河县| 涞水县| 花垣县| 上栗县| 龙海市|