【正文】
手機通信錄管理系統(tǒng)設(shè)計 — C 語言課程設(shè)計 手機通信錄管理系統(tǒng)設(shè)計 [要求 ] 模擬手機通信錄管理系統(tǒng)實現(xiàn)對手機中的通信錄進行管理功能要求如下 1 查看功能選擇此功能時列出下列三類選擇 辦公類 個人類 商務(wù)類 當(dāng)選中某類時顯示出此類所有數(shù)據(jù)中的姓名電話號碼和電子郵件 2 增加功能能錄入新數(shù)據(jù) 一個結(jié)點包括姓名電話號碼分類辦公類個人類商務(wù)類電子郵件例如楊 135896 商務(wù)類 當(dāng)錄入了重復(fù)的姓名和電話號碼時則提示數(shù)據(jù)錄入重復(fù)并取消錄入當(dāng)通信錄中超過 15 條信息時 儲存空間已滿不能再錄入新數(shù)據(jù)錄入的新數(shù)據(jù)能按遞增的順序自動進行條目編號 3 修改功能選中某個人姓名時可對此人的相應(yīng)數(shù)據(jù)進行修改 4 刪除功能選中某個人的姓名時可對此人的相應(yīng)數(shù)據(jù)進行刪除并自動調(diào)整后續(xù)條目的編號 需求分析 根據(jù)題目要求由于聯(lián)系人信息時存放在文件中所以應(yīng)提供文件的輸入輸出等操作在程序中需要查看聯(lián)系人信息應(yīng)提供顯示查看功能要實現(xiàn)修改和刪除聯(lián)系人功能所以應(yīng)提供對文件的修改和刪除操作 總體設(shè)計 以下分析整個系統(tǒng)根據(jù)上面的需求分析可將這個系統(tǒng)的設(shè)計分為四大模塊如圖一 圖一 系統(tǒng)功能模塊圖 詳細設(shè)計 主 函數(shù) 主函數(shù)設(shè)計比較簡潔僅有一個語句 [程序 ] main 主函數(shù) menu 主菜單 主菜單函數(shù)提供用戶對系統(tǒng)功能的選擇包括瀏覽聯(lián)系人增加聯(lián)系人修改聯(lián)系人刪除聯(lián)系人該函數(shù)的流程圖如圖二所示程序如下這樣編寫的目的在于系統(tǒng)執(zhí)行完每部分模塊后能夠方便返回到系統(tǒng)界面 圖二 主菜單流程圖 [程序 ] void menu 菜單函數(shù) int n 0w1 do puts \t\tMENU\n\n puts \t\t\t\t1Browse all puts \t\t\t\t2Add members puts \t\t\t\t3Modify information puts \t\t\t\t4Delete information puts \n\n\t\t\n printf Choose your number 14 [ ]\b\b scanf dn if n 1n 4 w1 1 getchar else w1 0 while w1 1 switch n case 1browse break 瀏覽聯(lián)系人模塊 case 2add break 增加聯(lián)系人模塊 case 3modify break 修改聯(lián)系人模塊 case 4del break 刪除聯(lián)系人模塊 3.?dāng)?shù)據(jù)結(jié)構(gòu)設(shè)計 各聯(lián)系人信息包括有姓名電話號碼聯(lián)系人類型電子郵件可以使用結(jié)構(gòu)體數(shù)組則姓名電話類型和電子郵件作為結(jié)構(gòu)體成員 struct member 聯(lián)系人結(jié)構(gòu)體 char name[20] 聯(lián)系人姓名 char tel[11] 聯(lián)系人電話 int type 聯(lián)系人類型 1 為辦公類 2 為個人類 3 為商務(wù)類 char [30] 聯(lián)系人電子郵件 mem[N] N 為全局變量表示能夠儲存的聯(lián)系人數(shù)量 注意 mem[N]中的 N 為聯(lián)系人數(shù)目程序中采用宏定義的方式可以隨時在源 程序宏定義中修改本程序宏定義 define N 15 瀏覽聯(lián)系人模塊 [需求分析 ] 該模塊的功能是使用戶可以瀏覽或者分類瀏覽各聯(lián)系人信息如圖三所示當(dāng)用戶輸入 1234 時分別顯示辦公類聯(lián)系人個人類聯(lián)系人商務(wù)類聯(lián)系人和所有聯(lián)系人 圖三 瀏覽聯(lián)系人模塊流程圖 [程序 ] void browse 瀏覽聯(lián)系人函數(shù) int mn 0w1 m load do puts \n\n\t\t BROWSR puts \t\t\t\t1show clerical members 查詢辦公類聯(lián)系人 puts \t\t\t\t2show personal members 查詢個人類聯(lián)系人 puts \t\t\t\t3show mercial members 查詢商務(wù)類聯(lián)系人 puts \t\t\t\t4show all members 查詢所有聯(lián)系人 puts \t\t\t\t5return to menu 返回菜單 printf Choose your number 15 [ ]\b\b scanf dn if n 1n 5 w1 1 getchar else w1 0 while w1 1 if n 1 printf_cle m 顯示辦公類聯(lián)系人 puts \ninformation has been showedPress any key to return to menu\n system pause 暫停系統(tǒng)工作 getchar menu else if n 2 printf_per m 顯示個人類聯(lián)系人 puts \ninformation has been showedPress any key to return to menu\n system pause 暫停系統(tǒng)工作 getchar menu else if n 3 printf_ m 顯示商務(wù)類聯(lián)系人 puts \ninformation has been showedPress any key to return to menu\n system pause 暫停系統(tǒng)工作 getchar menu else if n 4 printf_all m 顯示商務(wù)類聯(lián)系人 puts \ninformation has been showedPress any key to return to menu\n system pause 暫停系統(tǒng)工作 getchar menu else