加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入

C語言程序設(shè)計(jì)-通訊錄系統(tǒng)

10/09 09:23
1363
服務(wù)支持:
技術(shù)交流群

完成交易后在“購(gòu)買成功”頁面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗(yàn)、收獲成長(zhǎng)和認(rèn)同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購(gòu)買后不支持退換且無法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
放大
實(shí)物圖
相關(guān)方案
  • 方案介紹
    • 1、問題定義
    • 2、系統(tǒng)設(shè)計(jì)
  • 相關(guān)文件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

1、問題定義

創(chuàng)建一個(gè)通訊錄系統(tǒng)。假設(shè)系統(tǒng)中每個(gè)聯(lián)系人記錄只包括姓名,年齡,性別,電話號(hào)碼,QQ、住址及生日等信息。程序的運(yùn)行效果如下圖所示,選擇任意菜單后,實(shí)現(xiàn)相應(yīng)功能。

cd19ed7ccc704aa984b352c003f93e9a.png

圖1.1? 通訊錄系統(tǒng)功能需求

2、系統(tǒng)設(shè)計(jì)

2.1 總體設(shè)計(jì)

采用模塊化的程序設(shè)計(jì)方法,即將較大的任務(wù)按照一定的原則分為一個(gè)個(gè)較小的任務(wù),然后分別設(shè)計(jì)各個(gè)小任務(wù)。需要注意的是劃分出來的模塊應(yīng)該相對(duì)獨(dú)立但又相關(guān),且容易理解??梢杂媚K化層次結(jié)構(gòu)圖(即模塊圖)來分析其任務(wù)的劃分,一般從上到下進(jìn)行,最上面一層是主模塊,下面各層是其上一層模塊的逐步細(xì)化描述。

97e7be9c77f249ce8d4b45818b695f42.png

圖2.1?? 通訊錄系統(tǒng)功能模塊圖

本通訊錄系統(tǒng)要求采用數(shù)組實(shí)現(xiàn),如圖2.1所示,它由如下五大功能模塊組成:

  1. 輸入記錄模塊。完成將數(shù)據(jù)存入數(shù)組的工作。記錄可以從通過記錄函數(shù)存儲(chǔ)的數(shù)據(jù)文件中讀入,也可從鍵盤逐個(gè)輸入聯(lián)系人記錄。聯(lián)系人記錄由聯(lián)系人的基本信息字段構(gòu)成。
  2. 查詢記錄模塊。完成在數(shù)組中查找滿足相關(guān)條件的聯(lián)系人記錄。在此通訊錄系統(tǒng)中,用戶可以按照聯(lián)系人的姓名或電話號(hào)碼在數(shù)組中進(jìn)行查找。
  3. 更新記錄模塊。完成對(duì)聯(lián)系人記錄的維護(hù)。在此通訊錄系統(tǒng)中,它實(shí)現(xiàn)了對(duì)聯(lián)系人記錄的增加、刪除及修改操作,并將修改后的數(shù)據(jù)存入源數(shù)據(jù)文件。
  4. 輸出記錄模塊。一是實(shí)現(xiàn)對(duì)聯(lián)系人記錄的存盤,即將記錄寫入數(shù)據(jù)文件中;二是實(shí)現(xiàn)將記錄信息以表格的形式在屏幕上打印出來。

2.2 詳細(xì)設(shè)計(jì)

2.2.1數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)

  1. 通訊錄結(jié)構(gòu)體

}per[N];

注:per[N]中的N為記錄的總個(gè)數(shù),程序中用宏定義的方式,可以隨時(shí)在源程序宏定義中修改。本程序的宏定義為#define N 100。

.2.2 主控main()函數(shù)執(zhí)行流程

adf7034013df43ceabbda55d37826169.png

圖2.2? 主控函數(shù)執(zhí)行流程圖

本通訊錄系統(tǒng)執(zhí)行主流程如圖2.2所示。它先以目錄形式顯示一系列功能選項(xiàng),接著由用戶通過鍵盤輸入數(shù)值。

在判斷鍵值時(shí),有效的輸入為0至6之間的任意數(shù)值,其他輸入都被視為錯(cuò)誤按鍵。

若選擇1,則調(diào)用append()函數(shù),執(zhí)行增加聯(lián)系人記錄操作;若選擇2,則調(diào)用del()函數(shù),執(zhí)行刪除聯(lián)系人記錄操作;若選擇3,則調(diào)用alt()函數(shù),執(zhí)行修改聯(lián)系人記錄操作;若選擇4,則調(diào)用search()函數(shù),執(zhí)行查找聯(lián)系人記錄操作;若選擇5,則調(diào)用print()函數(shù),執(zhí)行打印聯(lián)系人記錄操作;若選擇6,則退出該程序。若輸入為0~9之外的值,則提示“輸入有誤,請(qǐng)重新輸入”。

2.2.3輸入記錄模塊

輸入記錄模塊主要實(shí)現(xiàn)將數(shù)據(jù)存入數(shù)組中。若數(shù)據(jù)文件中無記錄,則無法從文件中讀取數(shù)據(jù)輸入到數(shù)組中。此時(shí),用戶應(yīng)選擇1,調(diào)用add()函數(shù),進(jìn)行聯(lián)系人記錄的輸入,即完成在數(shù)組中添加記錄的操作。

2.2.4查詢記錄模塊

查詢記錄模塊主要實(shí)現(xiàn)了在數(shù)組中按姓名或電話號(hào)碼查找滿足相關(guān)條件的聯(lián)系人記錄。在查詢函數(shù)search()

中,通過判斷鍵入號(hào)碼是否存在于通訊錄中而判斷函數(shù)常量是否被賦值。若存在,則表示已被賦值,將其輸出。否

則,進(jìn)行錯(cuò)誤提示。

2.2.5更新記錄模塊

此模塊主要實(shí)現(xiàn)了對(duì)聯(lián)系人記錄的增加、刪除及修改操作。因?yàn)槁?lián)系人記錄是以數(shù)組的結(jié)構(gòu)形式存儲(chǔ)的,所以這些操作都在數(shù)組中完成。下面分別介紹這3個(gè)功能模塊。

  • 增加記錄。該操作完成增加聯(lián)系人記錄。

輸入要增加的聯(lián)系人姓名,回車;輸入要增加的聯(lián)系人年齡,回車;輸入要增加的聯(lián)系人性別,回車;輸入要增加的聯(lián)系人電話,回車;輸入要增加的聯(lián)系人QQ,回車;輸入要增加的聯(lián)系人住址,回車;輸入要增加的聯(lián)系人生日,回車。完成后,系統(tǒng)提示“保存成功”。

  • 刪除記錄。該操作完成刪除指定姓名的聯(lián)系人記錄。

選擇“刪除聯(lián)系人”選項(xiàng)后屏幕上將自動(dòng)打印出通訊錄所有記錄信息,輸入要?jiǎng)h除的聯(lián)系人姓名,回車,則現(xiàn)實(shí)系統(tǒng)提示“刪除成功”。

  • ?修改記錄。該操作完成修改制定姓名的聯(lián)系人記錄。

選擇“修改聯(lián)系人”選項(xiàng)后屏幕將自動(dòng)打印出通訊錄所有記錄信息,輸入要修改的聯(lián)系人姓名,回車,選擇要修改的項(xiàng)目,輸入修改后的記錄,回車,退出程序。

2.2.6輸出記錄模塊

當(dāng)把記錄輸出至文件時(shí),調(diào)用記錄函數(shù),將程序所保存的數(shù)據(jù)寫入文件指針fp所指的文件。當(dāng)把記錄輸出至屏幕時(shí),調(diào)用print函數(shù),將數(shù)組中的聯(lián)系人記錄信息以表格的形式在屏幕上打印出來。

2.2.7函數(shù)功能描述

  1. menu()

menu()函數(shù)用于展示功能項(xiàng),供用戶完成任務(wù)。

  1. append()

append()函數(shù)用于增加聯(lián)系人記錄。

  1. del()

del()函數(shù)用于刪除聯(lián)系人記錄。

  1. alt()

alt()函數(shù)用于修改單個(gè)記錄。

  1. search()

search()函數(shù)用于搜索聯(lián)系人記錄。

  1. print()

print()函數(shù)用于打印聯(lián)系人記錄。

  1. back()

back()函數(shù)作為公告函數(shù),提供從各個(gè)子模塊返回主菜單或者退出。

8f639840f753b01115ef0416a8f2035f.png

  • 有需要資料的可了解一下.docx

相關(guān)推薦

電子產(chǎn)業(yè)圖譜