一個簡單的通訊錄
通訊錄應該具備簡單的一些功能
1 增添聯系人
2 刪除聯系人
3 查找聯系人
4 修改聯系人
5 按名字給聯系人排序
6 查看通訊錄
除此之外,應該在實現上還應該具備一些其他的功能函數
比如 初始化通訊錄
這些都是功能函數,而整個函數入口應該為main
為了更加清晰,更加鮮明的體現功能區域,將所有的宏定義,和一些聲明我放在一個頭文件中。
要創建一個通訊錄,我們要抽象化一個人,將這個人的一些信息放在一個結構體中
而一個通訊錄中不可能只有一個人,所以需要一個結構體數組,來裝你要存入的數據
并創建一個整形變量sz來記錄當前通訊錄當前存入了多少個人
而在整個main()中只有一個函數test(),我們將整個函數功能的選擇放在這里,雖然switch語句并不好,但在這里,依然用switch進行選擇
本來選擇用switch時,應該用一個整形來進行選擇,但在這里,我用了一個枚舉類型,來更直觀的進行選擇
枚舉類型,從上至下,對應的數字應該為 0,1,2,3,4,5,6
接下來就是每個功能函數的實現
初始化通訊錄
首先傳結構體指針過來,需要判斷有效性,用assert斷言判斷,初始化通訊錄
人數為0,并給結構體數組中每個元素賦值0,此處用memset內存建立函數實現。
增添聯系人
查看通訊錄
將已經錄入的信息打印一遍
內部查找函數
因為進行下來的操作時都有一個操作就是查找所以,先寫一個內部的查找函數
刪除聯系人
此處就要用到上述寫的內部查找函數
查找聯系人
找到之后打印一遍,給用戶一個友好的提示
修改聯系人
按名字給聯系人排序
此處用的是冒泡排序
到此,所有功能都已實現,但此通訊錄是一個靜態通訊錄,不能根據具體的實際情況進行擴容。