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

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

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

本文實(shí)例為大家分享了C++實(shí)現(xià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<<"通訊錄已滿,無法添加\n";
?? ??? ?return;
?? ?} else {
?? ??? ?string name;
?? ??? ?string sex;
?? ??? ?int age;
?? ??? ?string tell;
?? ??? ?string addr;
?? ??? ?cout<<"請(qǐng)輸入姓名,性別,年齡,電話以及地址:";
?? ??? ?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)前記錄為空\n";
?? ?} else {
?? ??? ?cout<<"姓名\t性別\t年齡\t電話\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";
?? ??? ?}
?? ?}
}

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

//查詢并輸出
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<<"查無此人\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<<"查無此人\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)輸入姓名,性別,年齡,電話以及地址:";
?? ??? ?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<<"查無此人,是否選擇新增(Y/N):\n";
?? ??? ?char flag;
?? ??? ?cin>>flag;
?? ??? ?if(flag=='Y') {
?? ??? ??? ?addPerson(books);
?? ??? ?}
?? ?}
}

//清空
void clearPerson(Books *books) {
?? ?books->N = 0;
?? ?cout<<"通訊錄已清空\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;
}

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

相關(guān)文章

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

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

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)小貓釣魚游戲,具有一定的參考價(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語言實(shí)例描述程序中的內(nèi)聚和耦合問題

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

    這篇文章主要介紹了用C語言實(shí)例描述程序中的內(nèi)聚和耦合,本文通過示例代碼給大家介紹的非常詳細(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類型以便由編譯器來驗(yàn)證變量的值是否是一個(gè)常量表達(dá)式,這篇文章主要介紹了C++11/C++14中constexpr的使用,需要的朋友可以參考下
    2023-06-06
  • C語言:代碼宏詳解

    C語言:代碼宏詳解

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

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

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

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

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

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

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

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

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

最新評(píng)論

贡山| 涿鹿县| 虎林市| 郑州市| 东方市| 海林市| 青铜峡市| 烟台市| 邛崃市| 久治县| 威宁| 丽江市| 福海县| 大石桥市| 东安县| 大名县| 宜春市| 菏泽市| 萝北县| 汾阳市| 镇原县| 涡阳县| 保定市| 河西区| 马尔康县| 长沙县| 福安市| 松阳县| 阜康市| 南岸区| 平果县| 莆田市| 泸水县| 鹤山市| 濮阳市| 鄢陵县| 桃园市| 辽宁省| 古丈县| 曲靖市| 应用必备|