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

詳解C語(yǔ)言之實(shí)現(xiàn)通訊錄

 更新時(shí)間:2021年11月09日 15:34:11   作者:iEucliwood  
這篇文章主要為大家詳細(xì)介紹了用C語(yǔ)言實(shí)現(xiàn)通訊錄,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

基本思路和代碼實(shí)現(xiàn)

為了代碼清晰易讀,我們創(chuàng)建一個(gè)Main.c源文件用來(lái)實(shí)現(xiàn)代碼的基本邏輯。創(chuàng)建一個(gè)Contact.h源文件用于封裝實(shí)現(xiàn)功能的函數(shù),創(chuàng)建Contact.h頭文件用于函數(shù)的聲明。

首先就是構(gòu)架代碼基本框架,在主函數(shù)中實(shí)現(xiàn)打印菜單和循環(huán)的功能 (這里為了好截圖switch里的語(yǔ)句縮進(jìn)得比較緊湊)

基本邏輯實(shí)現(xiàn)后開(kāi)始考慮創(chuàng)建通訊錄,通訊錄里會(huì)記錄人的信息。所以要先能夠描述人的信息: 創(chuàng)建表達(dá)人的信息的結(jié)構(gòu)體類型,在Contact.h中定義:

而通訊錄里記錄的是多人的信息,所以創(chuàng)建通訊錄實(shí)際上就是創(chuàng)建上述結(jié)構(gòu)體的數(shù)組。這里需要思考一個(gè)問(wèn)題,在之后實(shí)現(xiàn)函數(shù)的功能比如增刪時(shí),怎么才能得知從哪里增加或者在什么范圍內(nèi)查找并刪除。這就需要用到一個(gè)能表達(dá)當(dāng)前通訊錄有多少個(gè)人的變量。而這個(gè)變量也能夠用來(lái)描述通訊錄,與其把他獨(dú)立定義在主函數(shù)里不如創(chuàng)建一個(gè)通訊錄的結(jié)構(gòu)體,將其定義在里面。這樣一來(lái)此變量的意義更加明確,也不用每次調(diào)用函數(shù)時(shí)都要額外傳遞他的參數(shù),只需傳結(jié)構(gòu)體就行了。創(chuàng)建通訊錄的結(jié)構(gòu)體類型,在Contact.h中定義:

 

創(chuàng)建完了之后接著進(jìn)行通訊錄初始化,封裝一個(gè)初始化函數(shù)InitContact,再設(shè)計(jì)好其他函數(shù)名寫(xiě)在相應(yīng)位置處:​​​​​​

然后開(kāi)始具體實(shí)現(xiàn)函數(shù)的功能。

初始化函數(shù)InitContact

  

增加函數(shù)AddContact

 

刪除函數(shù)DelContact(這里封裝了一個(gè)FindName函數(shù),其功能是找到名字相同的結(jié)構(gòu)體數(shù)組元素則返回其下標(biāo),未找到則返回-1): 

 查找函數(shù)SeachContact

 修改函數(shù)ModifyContact

 打印函數(shù)ShowContact:

 FindName函數(shù):

SortContact排列函數(shù)可以有多種不同的排列方式,這可以由自己設(shè)計(jì)。還可用qsort函數(shù)加上自己的比較函數(shù)來(lái)實(shí)現(xiàn)更多類型的排列,這里就不實(shí)現(xiàn)此函數(shù)了。再做好函數(shù)聲明引好頭文件,到這里通訊錄的實(shí)現(xiàn)就完成了。

其他探討

在設(shè)計(jì)如名字和電話住址等數(shù)組的大小時(shí),可以使用#define定義

當(dāng)之后需要修改這些數(shù)組的大小時(shí),不用再去一個(gè)一個(gè)找到每個(gè)使用這些數(shù)組的地方進(jìn)行修改,直接修改全局變量的值即可,非常方便。

在判斷數(shù)字時(shí),可以使用枚舉常量將數(shù)字替換成有實(shí)際意義的詞

有了枚舉常量,即使代碼過(guò)長(zhǎng),也不用在反復(fù)翻閱尋找數(shù)字所代表的意義,直接從詞語(yǔ)含義上就能得知。增加了代碼的可讀性。

總結(jié)

本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • 深入sizeof的使用詳解

    深入sizeof的使用詳解

    本篇文章是對(duì)sizeof的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • Visual Studio 2022配置fftw第三方庫(kù)的詳細(xì)過(guò)程

    Visual Studio 2022配置fftw第三方庫(kù)的詳細(xì)過(guò)程

    FFTW是一個(gè)可以進(jìn)行可變長(zhǎng)度一維或多維DFT的開(kāi)源C程序庫(kù),是目前最快的FFT算法實(shí)現(xiàn),本文簡(jiǎn)述了在Windows平臺(tái)上,如何在C++中調(diào)用FFTW,所使用的IDE為Visual Studio 2022,感興趣的朋友一起看看吧
    2024-06-06
  • C 標(biāo)準(zhǔn)I/O庫(kù)的粗略實(shí)現(xiàn)教程

    C 標(biāo)準(zhǔn)I/O庫(kù)的粗略實(shí)現(xiàn)教程

    下面小編就為大家分享一篇C 標(biāo)準(zhǔn)I/O庫(kù)的粗略實(shí)現(xiàn)教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • 一文解析C語(yǔ)言中動(dòng)態(tài)內(nèi)存管理

    一文解析C語(yǔ)言中動(dòng)態(tài)內(nèi)存管理

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言中動(dòng)態(tài)內(nèi)存管理的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-02-02
  • 從匯編看c++的默認(rèn)析構(gòu)函數(shù)的使用詳解

    從匯編看c++的默認(rèn)析構(gòu)函數(shù)的使用詳解

    本篇文章是對(duì)c++中默認(rèn)析構(gòu)函數(shù)的使用進(jìn)行了詳細(xì)的分析介紹。需要的朋友參考下
    2013-05-05
  • C++中DeviceIoCteatol的用法實(shí)例

    C++中DeviceIoCteatol的用法實(shí)例

    這篇文章主要介紹了C++中DeviceIoCteatol的用法實(shí)例,對(duì)于學(xué)習(xí)C++針對(duì)硬件的操作有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2014-10-10
  • C++ Qt繪制時(shí)鐘界面

    C++ Qt繪制時(shí)鐘界面

    大家好,本篇文章主要講的是C++ Qt繪制時(shí)鐘界面,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • 深入理解C++中std::chrono庫(kù)的使用

    深入理解C++中std::chrono庫(kù)的使用

    在程序設(shè)計(jì)中,時(shí)間管理是一個(gè)核心概念,它不僅關(guān)系到程序的效率和性能,而且直接影響用戶體驗(yàn),C++作為一門高效的編程語(yǔ)言,提供了std::chrono庫(kù),用于精確地處理和計(jì)算時(shí)間,下面就跟隨小編一起學(xué)習(xí)一下std::chrono庫(kù)的使用吧
    2023-12-12
  • C指針原理教程之C內(nèi)嵌匯編

    C指針原理教程之C內(nèi)嵌匯編

    在學(xué)習(xí) C 語(yǔ)言內(nèi)嵌匯編的實(shí)驗(yàn)過(guò)程中,發(fā)現(xiàn)內(nèi)嵌匯編極容易造成段錯(cuò)誤。
    2019-02-02
  • C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單推箱子小游戲

    C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單推箱子小游戲

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)推箱子小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-11-11

最新評(píng)論

葫芦岛市| 巫溪县| 通山县| 罗定市| 阿拉善右旗| 南川市| SHOW| 焉耆| 石阡县| 尖扎县| 喀喇| 赣榆县| 古田县| 西充县| 宜黄县| 绍兴市| 岢岚县| 靖州| 溆浦县| 太原市| 霍城县| 额敏县| 乐山市| 法库县| 普兰县| 大悟县| 南涧| 通许县| 江华| 孟州市| 精河县| 海丰县| 寻乌县| 志丹县| 鱼台县| 高雄市| 阿城市| 襄城县| 阳山县| 安顺市| 博乐市|