亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解C語言之實現通訊錄

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

基本思路和代碼實現

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

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

基本邏輯實現后開始考慮創(chuàng)建通訊錄,通訊錄里會記錄人的信息。所以要先能夠描述人的信息: 創(chuàng)建表達人的信息的結構體類型,在Contact.h中定義:

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

 

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

然后開始具體實現函數的功能。

初始化函數InitContact

  

增加函數AddContact

 

刪除函數DelContact(這里封裝了一個FindName函數,其功能是找到名字相同的結構體數組元素則返回其下標,未找到則返回-1): 

 查找函數SeachContact

 修改函數ModifyContact

 打印函數ShowContact:

 FindName函數:

SortContact排列函數可以有多種不同的排列方式,這可以由自己設計。還可用qsort函數加上自己的比較函數來實現更多類型的排列,這里就不實現此函數了。再做好函數聲明引好頭文件,到這里通訊錄的實現就完成了。

其他探討

在設計如名字和電話住址等數組的大小時,可以使用#define定義

當之后需要修改這些數組的大小時,不用再去一個一個找到每個使用這些數組的地方進行修改,直接修改全局變量的值即可,非常方便。

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

有了枚舉常量,即使代碼過長,也不用在反復翻閱尋找數字所代表的意義,直接從詞語含義上就能得知。增加了代碼的可讀性。

總結

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注腳本之家的更多內容!

相關文章

  • C++實現bmp格式圖像讀寫

    C++實現bmp格式圖像讀寫

    這篇文章主要為大家詳細介紹了C++實現bmp格式圖像讀寫,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • opencv圖片的任意角度旋轉實現示例

    opencv圖片的任意角度旋轉實現示例

    這篇博客將介紹如何使用OpenCV旋轉圖像任意角度,實現各個角度的旋轉,具有一定的參考價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-06-06
  • 如何查看進程實際的內存占用情況詳解

    如何查看進程實際的內存占用情況詳解

    本篇文章是對如何查看進程實際的內存占用情況進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • C語言實現一個閃爍的圣誕樹

    C語言實現一個閃爍的圣誕樹

    本文詳細講解了C語言實現一個閃爍的圣誕樹,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12
  • OpenCV實現鼠標在圖像上框選單目標和多目標

    OpenCV實現鼠標在圖像上框選單目標和多目標

    這篇文章主要為大家詳細介紹了OpenCV實現鼠標在圖像上框選單目標和多目標,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • C語言函數之memcpy函數用法實例

    C語言函數之memcpy函數用法實例

    memcpy函數用于把資源內存(src所指向的內存區(qū)域)拷貝到目標內存(dest所指向的內存區(qū)域),下面這篇文章主要給大家介紹了關于C語言函數之memcpy函數用法的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-08-08
  • 詳解C++之類和對象(1)

    詳解C++之類和對象(1)

    類是創(chuàng)建對象的模板,一個類可以創(chuàng)建多個對象,每個對象都是類類型的一個變量;創(chuàng)建對象的過程也叫類的實例化。每個對象都是類的一個具體實例(Instance),擁有類的成員變量和成員函數
    2021-11-11
  • C++多繼承多態(tài)的實例詳解

    C++多繼承多態(tài)的實例詳解

    這篇文章主要介紹了C++多繼承多態(tài)的實例詳解的相關資料,需要的朋友可以參考下
    2017-06-06
  • 使用C語言求N的階乘的方法

    使用C語言求N的階乘的方法

    這篇文章主要介紹了使用C語言求N的階乘的方法,包括一道相關的ACM題目示例,需要的朋友可以參考下
    2015-08-08
  • C/C++實現獲取系統時間的示例代碼

    C/C++實現獲取系統時間的示例代碼

    C 標準庫提供了 time() 函數與 localtime() 函數可以獲取到當前系統的日歷時間。本文將通過一些簡單的示例為大家講講C++獲取系統時間的具體方法,需要的可以參考一下
    2022-12-12

最新評論