【正文】
手機(jī)通信錄管理系統(tǒng)設(shè)計(jì) — C 語(yǔ)言課程設(shè)計(jì) 手機(jī)通信錄管理系統(tǒng)設(shè)計(jì) [要求 ] 模擬手機(jī)通信錄管理系統(tǒng)實(shí)現(xiàn)對(duì)手機(jī)中的通信錄進(jìn)行管理功能要求如下 1 查看功能選擇此功能時(shí)列出下列三類選擇 辦公類 個(gè)人類 商務(wù)類 當(dāng)選中某類時(shí)顯示出此類所有數(shù)據(jù)中的姓名電話號(hào)碼和電子郵件 2 增加功能能錄入新數(shù)據(jù) 一個(gè)結(jié)點(diǎn)包括姓名電話號(hào)碼分類辦公類個(gè)人類商務(wù)類電子郵件例如楊 135896 商務(wù)類 當(dāng)錄入了重復(fù)的姓名和電話號(hào)碼時(shí)則提示數(shù)據(jù)錄入重復(fù)并取消錄入當(dāng)通信錄中超過(guò) 15 條信息時(shí) 儲(chǔ)存空間已滿不能再錄入新數(shù)據(jù)錄入的新數(shù)據(jù)能按遞增的順序自動(dòng)進(jìn)行條目編號(hào) 3 修改功能選中某個(gè)人姓名時(shí)可對(duì)此人的相應(yīng)數(shù)據(jù)進(jìn)行修改 4 刪除功能選中某個(gè)人的姓名時(shí)可對(duì)此人的相應(yīng)數(shù)據(jù)進(jìn)行刪除并自動(dòng)調(diào)整后續(xù)條目的編號(hào) 需求分析 根據(jù)題目要求由于聯(lián)系人信息時(shí)存放在文件中所以應(yīng)提供文件的輸入輸出等操作在程序中需要查看聯(lián)系人信息應(yīng)提供顯示查看功能要實(shí)現(xiàn)修改和刪除聯(lián)系人功能所以應(yīng)提供對(duì)文件的修改和刪除操作 總體設(shè)計(jì) 以下分析整個(gè)系統(tǒng)根據(jù)上面的需求分析可將這個(gè)系統(tǒng)的設(shè)計(jì)分為四大模塊如圖一 圖一 系統(tǒng)功能模塊圖 詳細(xì)設(shè)計(jì) 主 函數(shù) 主函數(shù)設(shè)計(jì)比較簡(jiǎn)潔僅有一個(gè)語(yǔ)句 [程序 ] main 主函數(shù) menu 主菜單 主菜單函數(shù)提供用戶對(duì)系統(tǒng)功能的選擇包括瀏覽聯(lián)系人增加聯(lián)系人修改聯(lián)系人刪除聯(lián)系人該函數(shù)的流程圖如圖二所示程序如下這樣編寫(xiě)的目的在于系統(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è)計(jì) 各聯(lián)系人信息包括有姓名電話號(hào)碼聯(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 為個(gè)人類 3 為商務(wù)類 char [30] 聯(lián)系人電子郵件 mem[N] N 為全局變量表示能夠儲(chǔ)存的聯(lián)系人數(shù)量 注意 mem[N]中的 N 為聯(lián)系人數(shù)目程序中采用宏定義的方式可以隨時(shí)在源 程序宏定義中修改本程序宏定義 define N 15 瀏覽聯(lián)系人模塊 [需求分析 ] 該模塊的功能是使用戶可以瀏覽或者分類瀏覽各聯(lián)系人信息如圖三所示當(dāng)用戶輸入 1234 時(shí)分別顯示辦公類聯(lián)系人個(gè)人類聯(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 查詢個(gè)人類聯(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 顯示個(gè)人類聯(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