最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++實(shí)現(xiàn)簡(jiǎn)易的通訊錄管理系統(tǒng)

 更新時(shí)間:2022年06月20日 14:51:06   作者:愛(ài)思考的小伙  
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)簡(jiǎn)易的通訊錄管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了C++實(shí)現(xiàn)簡(jiǎn)易通訊錄管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

1. 效果圖

2. 需要的知識(shí)

C++基礎(chǔ)知識(shí)(包括變量,運(yùn)算符,順序,分支,循環(huán))
數(shù)組
函數(shù)
指針
結(jié)構(gòu)體

3. 源碼

#include <iostream>
using namespace std;
#define MAX 1000 ?//最大聯(lián)系人個(gè)數(shù)?

struct Person {
?? ?string name;
?? ?string sex;
?? ?int age;
?? ?string tell;
?? ?string addr;
};

struct Books {
?? ?struct Person per[MAX];
?? ?int N;//通訊錄人數(shù)
};

//函數(shù)聲明
void initBooks(Books *books);
void showMenu();
void addPerson(Books *books);
void showPerson(Books *books);
int ?findPerson(Books *books,string name);
void findPerson(Books *books);
void deletePerson(Books *books);
void modifyPerson(Books *books);
void clearPerson(Books *books);

//初始化通訊錄,向其中加入聯(lián)系人
void initBooks(Books *books) {
?? ?books->per[books->N].name = "張三";
?? ?books->per[books->N].sex = "男";
?? ?books->per[books->N].age = 22;
?? ?books->per[books->N].tell = "123456789";
?? ?books->per[books->N].addr = "成都";
?? ?books->N++;
?? ?books->per[books->N].name = "李四";
?? ?books->per[books->N].sex = "男";
?? ?books->per[books->N].age = 23;
?? ?books->per[books->N].tell = "123456789";
?? ?books->per[books->N].addr = "深圳";
?? ?books->N++;
?? ?books->per[books->N].name = "王五";
?? ?books->per[books->N].sex = "男";
?? ?books->per[books->N].age = 25;
?? ?books->per[books->N].tell = "123456789";
?? ?books->per[books->N].addr = "北京";
?? ?books->N++;
}

//菜單
void showMenu() {
?? ?system("color a");
?? ?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;
}

//添加
void addPerson(Books *books) {
?? ?if(books->N == MAX) {
?? ??? ?cout<<"通訊錄已滿(mǎn),無(wú)法添加\n";
?? ??? ?return;
?? ?} else {
?? ??? ?string name;
?? ??? ?string sex;
?? ??? ?int age;
?? ??? ?string tell;
?? ??? ?string addr;
?? ??? ?cout<<"請(qǐng)輸入姓名,性別,年齡,電話(huà)以及地址:";
?? ??? ?cin>>name>>sex>>age>>tell>>addr;
?? ??? ?books->per[books->N].name = name;
?? ??? ?books->per[books->N].sex = sex;
?? ??? ?books->per[books->N].age = age;
?? ??? ?books->per[books->N].tell = tell;
?? ??? ?books->per[books->N].addr = addr;
?? ??? ?books->N++;
?? ??? ?cout<<"添加成功\n";
?? ?}
}

//輸出
void showPerson(Books *books) {
?? ?if(books->N == 0) {
?? ??? ?cout<<"當(dāng)前記錄為空\(chéng)n";
?? ?} else {
?? ??? ?cout<<"姓名\t性別\t年齡\t電話(huà)\t\t地址\n";
?? ??? ?for(int i=0; i<books->N; i++) {
?? ??? ??? ?cout<<books->per[i].name<<"\t"
?? ??? ??? ? ? ?<<books->per[i].sex<<"\t"
?? ??? ??? ? ? ?<<books->per[i].age<<"\t"
?? ??? ??? ? ? ?<<books->per[i].tell<<"\t"
?? ??? ??? ? ? ?<<books->per[i].addr<<"\n";
?? ??? ?}
?? ?}
}

//查詢(xún)并返回是否存在
int findPerson(Books *books,string name) {
?? ?for(int i=0; i<books->N; i++) {
?? ??? ?if(books->per[i].name== name) {
?? ??? ??? ?return i;
?? ??? ?}
?? ?}
?? ?return -1;
}

//查詢(xún)并輸出
void findPerson(Books *books) {
?? ?cout<<"請(qǐng)輸入你要查找的聯(lián)系人的姓名:";
?? ?string name;
?? ?cin>>name;
?? ?int ret = findPerson(books,name);
?? ?if(ret!=-1) {
?? ??? ?cout<<books->per[ret].name<<"\t"
?? ??? ? ? ?<<books->per[ret].sex<<"\t"
?? ??? ? ? ?<<books->per[ret].age<<"\t"
?? ??? ? ? ?<<books->per[ret].tell<<"\t"
?? ??? ? ? ?<<books->per[ret].addr<<"\n";
?? ?} else {
?? ??? ?cout<<"查無(wú)此人\n";
?? ?}
}

//刪除
void deletePerson(Books *books) {
?? ?cout<<"請(qǐng)輸入你要?jiǎng)h除的聯(lián)系人的姓名:";
?? ?string name;
?? ?cin>>name;
?? ?int ret = findPerson(books, name);
?? ?if(ret!=-1) {
?? ??? ?for(int i=ret; i<books->N; i++) {
?? ??? ??? ?if(books->per[i].name== name) {
?? ??? ??? ??? ?books->per[i] = books->per[i+1];
?? ??? ??? ?}
?? ??? ?}
?? ??? ?books->N--;
?? ?} else {
?? ??? ?cout<<"查無(wú)此人\n";
?? ?}
}

//修改
void modifyPerson(Books *books) {
?? ?cout<<"請(qǐng)輸入你要修改的聯(lián)系人的姓名:";
?? ?string name;
?? ?cin>>name;
?? ?int ret = findPerson(books, name);
?? ?if(ret!=-1) {
?? ??? ?string name;
?? ??? ?string sex;
?? ??? ?int age;
?? ??? ?string tell;
?? ??? ?string addr;
?? ??? ?cout<<"請(qǐng)輸入姓名,性別,年齡,電話(huà)以及地址:";
?? ??? ?cin>>name>>sex>>age>>tell>>addr;
?? ??? ?books->per[ret].name = name;
?? ??? ?books->per[ret].sex = sex;
?? ??? ?books->per[ret].age = age;
?? ??? ?books->per[ret].tell = tell;
?? ??? ?books->per[ret].addr = addr;
?? ??? ?cout<<"修改成功\n";
?? ?} else {
?? ??? ?cout<<"查無(wú)此人,是否選擇新增(Y/N):\n";
?? ??? ?char flag;
?? ??? ?cin>>flag;
?? ??? ?if(flag=='Y') {
?? ??? ??? ?addPerson(books);
?? ??? ?}
?? ?}
}

//清空
void clearPerson(Books *books) {
?? ?books->N = 0;
?? ?cout<<"通訊錄已清空\(chéng)n";
}

int main(int argc, char** argv) {
?? ?showMenu();
?? ?Books books;
?? ?books.N = 0;
?? ?initBooks(&books);
?? ?showPerson(&books);

?? ?while(true) {
?? ??? ?showMenu();
?? ??? ?cout<<"請(qǐng)輸入功能前的序號(hào):\n";
?? ??? ?int select=0;
?? ??? ?cin>>select;
?? ??? ?switch(select) {
?? ??? ??? ?case 1:
?? ??? ??? ??? ?addPerson(&books);
?? ??? ??? ??? ?break;
?? ??? ??? ?case 2:
?? ??? ??? ??? ?showPerson(&books);
?? ??? ??? ??? ?break;
?? ??? ??? ?case 3:
?? ??? ??? ??? ?deletePerson(&books);
?? ??? ??? ??? ?break;
?? ??? ??? ?case 4:
?? ??? ??? ??? ?findPerson(&books);
?? ??? ??? ??? ?break;
?? ??? ??? ?case 5:
?? ??? ??? ??? ?modifyPerson(&books);
?? ??? ??? ??? ?break;
?? ??? ??? ?case 6:
?? ??? ??? ??? ?clearPerson(&books);
?? ??? ??? ??? ?break;
?? ??? ??? ?case 0:
?? ??? ??? ??? ?cout<<"歡迎下次使用\n";
?? ??? ??? ??? ?exit(0);
?? ??? ??? ?default:
?? ??? ??? ??? ?break;
?? ??? ?}
?? ?}
?? ?return 0;
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C語(yǔ)言實(shí)現(xiàn)小貓釣魚(yú)游戲

    C語(yǔ)言實(shí)現(xiàn)小貓釣魚(yú)游戲

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)小貓釣魚(yú)游戲,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • C++ 迷宮游戲?qū)崿F(xiàn)代碼

    C++ 迷宮游戲?qū)崿F(xiàn)代碼

    這篇文章主要介紹了C++ 迷宮游戲?qū)崿F(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • 使用C語(yǔ)言實(shí)例描述程序中的內(nèi)聚和耦合問(wèn)題

    使用C語(yǔ)言實(shí)例描述程序中的內(nèi)聚和耦合問(wèn)題

    這篇文章主要介紹了用C語(yǔ)言實(shí)例描述程序中的內(nèi)聚和耦合,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • C++下程序運(yùn)行時(shí)間的四種常用計(jì)時(shí)方法總結(jié)

    C++下程序運(yùn)行時(shí)間的四種常用計(jì)時(shí)方法總結(jié)

    這篇文章主要介紹了C++下程序運(yùn)行時(shí)間的四種常用計(jì)時(shí)方法,介紹了幾種常用的計(jì)時(shí)方法,包括低精度的clock()和GetTickCount(),以及高精度的gettimeofday()和QueryPerformanceCounter(),需要的朋友可以參考下
    2024-09-09
  • C++11/C++14中constexpr的使用案例詳解

    C++11/C++14中constexpr的使用案例詳解

    C++11規(guī)定,允許將變量聲明為constexpr類(lèi)型以便由編譯器來(lái)驗(yàn)證變量的值是否是一個(gè)常量表達(dá)式,這篇文章主要介紹了C++11/C++14中constexpr的使用,需要的朋友可以參考下
    2023-06-06
  • C語(yǔ)言:代碼宏詳解

    C語(yǔ)言:代碼宏詳解

    這篇文章主要介紹了 C語(yǔ)言宏定義使用實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下,希望能夠給你帶來(lái)幫助
    2021-09-09
  • C++實(shí)現(xiàn)LeetCode(70.爬樓梯問(wèn)題)

    C++實(shí)現(xiàn)LeetCode(70.爬樓梯問(wèn)題)

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(70.爬樓梯問(wèn)題),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C語(yǔ)言實(shí)現(xiàn)火車(chē)訂票系統(tǒng)

    C語(yǔ)言實(shí)現(xiàn)火車(chē)訂票系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)火車(chē)訂票系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • C++實(shí)現(xiàn)貪心算法的示例詳解

    C++實(shí)現(xiàn)貪心算法的示例詳解

    這篇文章主要通過(guò)幾個(gè)試題為大家詳細(xì)介紹了C++中貪心算法的實(shí)現(xiàn),文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)貪心算法有一定的幫助,需要的可以參考一下
    2022-07-07
  • C++實(shí)現(xiàn)圖書(shū)館管理系統(tǒng)

    C++實(shí)現(xiàn)圖書(shū)館管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)圖書(shū)館管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03

最新評(píng)論

满洲里市| 布尔津县| 临安市| 绥芬河市| 新郑市| 巧家县| 江口县| 梁平县| 商丘市| 阳谷县| 四子王旗| 花莲市| 宣汉县| 阿坝县| 堆龙德庆县| 政和县| 卢龙县| 乐业县| 林州市| 绩溪县| 扬中市| 鄢陵县| 庄浪县| 四川省| 满城县| 分宜县| 交城县| 高台县| 随州市| 苏尼特左旗| 华蓥市| 满城县| 南通市| 大化| 古蔺县| 丰镇市| 卫辉市| 射洪县| 青铜峡市| 县级市| 新沂市|