版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、設(shè)計(jì)說(shuō)明書通訊錄管理系統(tǒng)起止日期:2012 年 12 月 18 日 至 2012 年 12月 23日學(xué) 生 姓 名班 級(jí)學(xué) 號(hào)成 績(jī)指 導(dǎo) 教 師 (簽 字 計(jì)算機(jī)與通信學(xué)院2012 年 12 月 23 日 通訊錄管理系統(tǒng)一、 設(shè)計(jì)要求綜合運(yùn)用 C 語(yǔ)言程序設(shè)計(jì)課程的主要知識(shí),設(shè)計(jì)一個(gè)用于通訊錄管理的程序,設(shè)計(jì)指標(biāo) 由程序的功能要求和技術(shù)要求具體說(shuō)明。1、 功能要求通信錄管理程序至少應(yīng)具有如下功能:(1 輸入功能:能通過(guò)鍵盤向通信錄輸入數(shù)據(jù)。要求隨時(shí)都能使用該項(xiàng)功能實(shí)現(xiàn)記 錄輸入, 一次可以輸入一條記錄, 也可以輸入多條記錄。 所謂一條記錄, 是指通信錄中一個(gè) 人員的完整信息。(2 顯示功能:
2、能顯示通信錄存儲(chǔ)的記錄信息,在顯示時(shí)能提供下列顯示方式:按自然順序顯示。即按照向通信錄輸入數(shù)據(jù)時(shí)各條記錄的先后順序,顯示通信錄中 已有的記錄信息。按照一定的排列順序顯示通信錄信息。排序順序有多種,如按姓名查詢、按所在城 市查詢,任何一種查詢都要有明確的查詢結(jié)果。(3 查詢功能:能查詢通信錄信息。要求至少提供兩種查詢方式,如按照姓名查詢、 按所在城市查詢,任何一種查詢都要有明確的查詢結(jié)果。(4 修改功能:能對(duì)通信錄存儲(chǔ)的信息進(jìn)行修改。要求至少提供兩種修改方式,如 按照姓名修改、按照通信錄記錄序號(hào)修改。記錄序號(hào)是通信錄記錄的自然順序編號(hào)。(5 刪除功能:能對(duì)通信錄的信息進(jìn)行刪除。要求刪除時(shí)以記錄為
3、單位,既能一次 刪除一條記錄,也能一次刪除多條記錄。(6 保存功能:能將記錄保存在任何自定義的文件中,如保存在:c:score。(7 讀取功能:能將保存在文件中的記錄讀取出來(lái),并在屏幕上顯示。(8 通信錄管理結(jié)束后,能夠正常退出通信錄管理程序。2、 技術(shù)要求(1 每個(gè)通信錄記錄至少包括如下信息:姓名、電話、所在城市、所在單位、年齡、 備注等。(2 通信錄信息以磁盤文件的形式存儲(chǔ),存儲(chǔ)位置、文件名、文件格式由設(shè)計(jì)者確 定。(3 對(duì)于通信錄功能中數(shù)據(jù)輸入、顯示、查詢、修改、刪除、保存、讀取等功能, 要求編寫功能獨(dú)立的函數(shù)或主控函數(shù)予以實(shí)現(xiàn),其所屬的各項(xiàng)功能盡量由獨(dú)立的函數(shù)實(shí)現(xiàn)。(4 以菜單方式實(shí)現(xiàn)
4、功能選擇控制。(5 本通信錄管理程序能夠?qū)崿F(xiàn) 100條記錄的管理。二、 程序的功能設(shè)計(jì)根據(jù)題目的功能要求,設(shè)計(jì)通信錄管理程序的功能如圖 1所示。 圖 1 通信錄管理程序功能圖各功能的具體說(shuō)明如下:1、 通信錄信息錄入(1 通過(guò)顯示信息項(xiàng)目,逐項(xiàng)輸入通信錄的記錄信息。(2 每次輸入記錄后,通過(guò)詢問(wèn)的方式?jīng)Q定是否繼續(xù)進(jìn)行記錄輸入。因此,使用該功能 既可以錄入一條記錄,也可連續(xù)錄入多條記錄。(3 每次錄入記錄之前,顯示通信錄中已有的記錄數(shù)。2、 通信錄信息顯示(1按自然順序顯示,即以通信錄文件中的記錄順序?yàn)樾?逐個(gè)對(duì)文件記錄進(jìn)行顯示。(2按排序順序顯示,即對(duì)通信錄中的記錄進(jìn)行排序后,再按照排序結(jié)果顯
5、示出來(lái),但不 管使用何種排序算法,排序顯示不能改變通信錄記錄的物理順序。(3當(dāng)通信錄信息較多時(shí),實(shí)行分屏顯示,每屏最多顯示 20條記錄信息。(4顯示記錄時(shí),對(duì)每一條記錄增加與顯示順序一致的序號(hào)。3、 通信錄信息查詢(1提供按姓名查詢和按城市查詢兩種查詢方式。(2查找成功后顯示每一條符號(hào)條件記錄的完整信息,當(dāng)一屏不能完成顯示時(shí),實(shí)行分屏 顯示,每屏最多顯示 20條符合條件的記錄信息。當(dāng)找不到符合條件記錄時(shí),給出相應(yīng)的提 示信息。4、 通信錄信息修改(1按照指定的記錄序號(hào),對(duì)通信錄記錄進(jìn)行修改。首先顯示指定的記錄當(dāng)前數(shù)據(jù),然后 通過(guò)重新輸入該記錄數(shù)據(jù)的方法,完成數(shù)據(jù)修改操作。(2為方便確認(rèn)記錄序號(hào)
6、,該功能項(xiàng)同時(shí)提供通信錄記錄的瀏覽功能。5、 通信錄信息刪除(1提供按姓名刪除和按序號(hào)刪除兩種方式,當(dāng)找到指定記錄時(shí),進(jìn)行刪除操作。找不到 指定記錄時(shí),給出相應(yīng)的提示信息。(2所有的刪除均為物理刪除,即將制定的記錄從通訊錄文件中徹底清除掉。6、 建立通訊錄文件第一次使用通訊錄管理程序時(shí),用于建立存儲(chǔ)通訊錄信息的文件。三、 程序的數(shù)據(jù)設(shè)計(jì)(1每個(gè)通訊錄記錄由多個(gè)不同的數(shù)據(jù)項(xiàng)構(gòu)成,是一個(gè)結(jié)構(gòu)體數(shù)據(jù),因此需要定義結(jié)構(gòu)體 數(shù)據(jù), 因此需要定義結(jié)構(gòu)體數(shù)據(jù)類型。 根據(jù)題目要求, 確定每個(gè)記錄包括的數(shù)據(jù)項(xiàng)目為:姓 名、電話、所在城市、所在單位、年齡、備注等。據(jù)此定義如下結(jié)構(gòu)體數(shù)據(jù)類型:Struct reco
7、rdChar name20 / /姓名Int age; / /年齡Char tele15; / /電話號(hào)碼Char city20; / /所在城市Char units30; / /所在單位Char note20; / /備注;(2 考慮到 struct record是通訊錄管理程序中的通用數(shù)據(jù)類型, 將在多個(gè)函數(shù)中使用, 故將 其在頭文件中定義。(3使用文件 address.txl 存儲(chǔ)數(shù)據(jù)類型為 stuct record的通訊錄數(shù)據(jù)。四、 程序的函數(shù)設(shè)計(jì)1、 函數(shù)功能描述(1 main(函數(shù)通訊錄管理程序主函數(shù),實(shí)現(xiàn)程序功能的主菜單顯示,通過(guò)各功能函數(shù)的調(diào)用,實(shí)現(xiàn)整 個(gè)程序的功能控制。(2
8、append(函數(shù)函數(shù)原型為 void append(,是輸入數(shù)據(jù)函數(shù),它實(shí)現(xiàn)通訊錄數(shù)據(jù)的鍵盤輸入。(3 display(函數(shù)函數(shù)原型為 void display(, 是顯示通訊錄信息的主控函數(shù), 它實(shí)現(xiàn)顯示功能的菜單顯示, 并進(jìn)行不同顯示功能的函數(shù)調(diào)用,以實(shí)現(xiàn)程序的顯示功能。(4 locate(函數(shù)函數(shù)原型為 void locate(,是查詢通訊錄信息的主控函數(shù),它顯示查詢功能的菜單,并 根據(jù)查詢要求,進(jìn)行相應(yīng)的函數(shù)調(diào)用,以實(shí)現(xiàn)查詢的查詢功能。(5 modify(函數(shù)函數(shù)原型為 void modify(, 修改通訊錄信息的主控函數(shù), 它顯示查詢功能的菜單, 進(jìn)行 相應(yīng)的函數(shù)調(diào)用,以實(shí)現(xiàn)程序的
9、修改功能。(6 dele(函數(shù)函數(shù)原型為 void dele(,是刪除通訊錄記錄的主控函數(shù),它顯示刪除功能的菜單,并根 據(jù)刪除要求,并進(jìn)行相應(yīng)的函數(shù)調(diào)用,以實(shí)現(xiàn)程序的修改功能。(7 disp_arr(函數(shù)函數(shù)原型為 void disp_arr(struct record,int, 功能是顯示 struct record型結(jié)構(gòu)體數(shù)組的全 部數(shù)據(jù),其第二個(gè)參數(shù)是結(jié)構(gòu)體數(shù)組的長(zhǎng)度。這里的結(jié)構(gòu)體數(shù)組對(duì)應(yīng)于存儲(chǔ)通訊錄文件 address. txl 的數(shù)據(jù),數(shù)組長(zhǎng)度對(duì)應(yīng)于通訊錄文件的記錄數(shù)。(8 disp_name(函數(shù)函數(shù)原型為 void disp_row(struct record,功能是顯示一個(gè) s
10、truct record型結(jié)構(gòu)體數(shù)據(jù), disp_arr(函數(shù)進(jìn)行數(shù)組輸出時(shí),每一個(gè)數(shù)組元素都調(diào)用 disp_row(函數(shù)實(shí)現(xiàn)輸出。(9 sort(函數(shù)函數(shù)原型為 void sort(struct record,int,是排序的主控函數(shù),它顯示排序功能的菜單, 并根據(jù)顯示的排序要求,進(jìn)行相應(yīng)的函數(shù)調(diào)用,以實(shí)現(xiàn)程序的排序顯示功能。(10 sort_name(函數(shù)函數(shù)原型為 void sort_name(struct record,int, 功能是對(duì) struct record型結(jié)構(gòu)體數(shù)組實(shí)現(xiàn) 按姓名排序操作。(11 sort_city(函數(shù)函數(shù)原型為 void sort_city(struct
11、record,int ,功能是對(duì) struct record型結(jié)構(gòu)體數(shù)組實(shí)現(xiàn) 按城市排序操作。(12 modi_seq(函數(shù)函數(shù)原型為 void modi_seq(struct record,int,功能是對(duì) struct record型結(jié)構(gòu)體數(shù)組實(shí)現(xiàn) 按序號(hào)修改操作。(13 dele_name(函數(shù)函數(shù)原型為 void dele_name(struct record,int*,功能是對(duì) struct record型結(jié)構(gòu)數(shù)組實(shí)現(xiàn)第 6 頁(yè) 共 8 頁(yè) 按姓名刪除操作。 (14)dele_sequ(函數(shù) 函數(shù)原型為 void dele_sequ(struct record,int*, 功能是對(duì)
12、struct record 型結(jié)構(gòu)體數(shù)組實(shí)現(xiàn) 按序號(hào)刪除操作。 (15)disp_str(函數(shù) 函數(shù)原型為 disp_str(char,int,功能是輸出 n 個(gè)字符,用于菜單的字符顯示,每一個(gè)有 菜單顯示功能的函數(shù)都調(diào)用該函數(shù)。 (16)disp_table(函數(shù) 函數(shù)原型為 void disp_table(,功能是顯示一行表頭,用于輸出記錄時(shí)的標(biāo)題顯示。 (17)creat(函數(shù) 函數(shù)原型為 void creat(,功能是建立存儲(chǔ)通訊錄信息的文件 address,txl。 2、 函數(shù)的直接調(diào)用關(guān)系 、 (1)main(函數(shù)直接調(diào)用的函數(shù):disp_str(函數(shù)、append(函數(shù)、disp
13、lay(函數(shù)、locate(函 數(shù)、modify(函數(shù)、dele(函數(shù)。 (2)append(函數(shù)直接調(diào)用的函數(shù):無(wú)。 (3)display(函數(shù)直接調(diào)用的函數(shù):disp_str(、disp_arr(、sort(。 。 程序編碼 編碼及調(diào)試 五、 程序編碼及調(diào)試 1、 頭文件 address.h 的設(shè)計(jì) 、 頭文件 address.h 包含以下信息: (1) 通訊錄記錄的結(jié)構(gòu)體類型定義。 (2) 通訊錄管理程序中使用的 C 語(yǔ)言系統(tǒng)的宏包含命令。 (3) 通訊錄管理程序中自定義的函數(shù)原型聲明。 (4) 通訊錄管理程序中使用的結(jié)構(gòu)體數(shù)組的長(zhǎng)度。 下面是頭文件 address.h 的具體內(nèi)容: #
14、define M 100 用于定義結(jié)構(gòu)體數(shù)組的長(zhǎng)度 以下是通訊錄管理程序所用系統(tǒng)頭文件的宏包含命令 #include “stdio.h” #include”stdib.h” #include”string.h” 以下是結(jié)構(gòu)體數(shù)據(jù)類型定義,與通訊錄記錄的數(shù)據(jù)項(xiàng)相同 struct record char name20; / / 姓名 int age; / /年齡 int tele15; / /電話號(hào)碼 第 7 頁(yè) 共 8 頁(yè) char city30; / /所在城市 char units30; / /所在單位 char note20; / /備注 ; / /以下是用戶自定義函數(shù)聲明 void cr
15、eat(; / /建立通訊錄文件函數(shù) void append(; / /輸入數(shù)據(jù)函數(shù) void siaplay(; / /顯示通訊錄文件函數(shù) void locate(; / /查詢通訊錄主控函數(shù) void modify(; / /修改通訊錄主控函數(shù) void dele(; / /刪除通訊錄主控函數(shù) void disp_arr(struct record*,int; / /顯示數(shù)組函數(shù) void disp_row(struct record; / /顯示一個(gè)記錄的函數(shù) void disp_table(; / /顯示一行表頭的函數(shù) void modi_seq(struct record ,int
16、; / /按序號(hào)編輯修改記錄函數(shù) void disp_str(char,int ; / /顯示 N 個(gè)字符的函數(shù) void sort(struct record,int ; / /排序主控函數(shù) void sort_name(struct record,int; / /按姓名排序函數(shù) void sort_city(struct record,int ; / /按城市排序函數(shù) void dele_name(srtruct record,int*; / /按姓名刪除記錄函數(shù) void dele_sequ(struct record,int*; / /按序號(hào)刪除記錄函數(shù) 以上為頭文件 address.
17、h 的全部?jī)?nèi)容該頭文件在通訊錄管理程序的開(kāi)頭位置用 include 命 令包含,宏包含命令為 #include”address.h”。 2、 main()函數(shù)的編碼及調(diào)試 、 ()函數(shù)的編碼及調(diào)試 ()函數(shù)的編碼 main()函數(shù)是通訊錄管理程序的主控函數(shù),它的設(shè)計(jì)調(diào)試需要反復(fù)多次。在開(kāi)始 時(shí),將它的所有被調(diào)用函數(shù)都設(shè)計(jì)為簡(jiǎn)單的字符串輸出函數(shù),以設(shè)計(jì)調(diào)試 main()函數(shù) 的菜單控制功能。然后,每實(shí)現(xiàn)一個(gè)主功能(輸入、顯示、查詢、修改、刪除、新建) 函數(shù),都對(duì) main()函數(shù)的調(diào)用和菜單控制功能進(jìn)程調(diào)試。 (1) main()函數(shù)代碼 (2) disp-str()函數(shù)的代碼 (3) main()函數(shù)調(diào)試 3、 create()函數(shù)的編碼及調(diào)試 、 ()函數(shù)的編碼及調(diào)試 ()函數(shù)的編碼 create()函數(shù)的功能是建立通訊錄文件,該函數(shù)不調(diào)用其他的自定義函數(shù)。執(zhí)行該 函數(shù),將重新建立存儲(chǔ)通訊錄信息的文件 address.txl。 (1creat(函數(shù)代碼 void creat( / 建立通訊錄文件函數(shù) FILE*fp; if(fp=fopen(*address.txl”,”wb”
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年勞務(wù)施工總承包合同
- 信息通信業(yè)務(wù)經(jīng)營(yíng)許可證咨詢協(xié)議文本
- 天津市2024年離婚協(xié)議書樣本
- 出租車股權(quán)轉(zhuǎn)讓合同范本
- 深圳市勞動(dòng)合同范本
- 工程分包個(gè)人合同模板
- 教學(xué)研究中心項(xiàng)目合作協(xié)議模板
- 房屋裝潢施工合同范本
- 2024年商業(yè)公司鋼筋購(gòu)銷合同
- 代理其他商業(yè)銀行辦理全國(guó)銀行匯票業(yè)務(wù)協(xié)議-合同范本
- DB32 4120-2021 建筑物移動(dòng)通信基礎(chǔ)設(shè)施建設(shè)標(biāo)準(zhǔn)
- 國(guó)家開(kāi)放大學(xué)人文英語(yǔ)1形考任務(wù)(單元自測(cè)1-8)參考答案-新
- “四風(fēng)”問(wèn)題查擺整改臺(tái)賬
- 首診負(fù)責(zé)制查檢表
- 實(shí)驗(yàn)室審核檢查表(參照模板)
- 堅(jiān)持“兩個(gè)毫不動(dòng)搖”課件 2022-2023學(xué)年高中政治統(tǒng)編版必修二
- 福建廣播電視大學(xué)中國(guó)現(xiàn)當(dāng)代文學(xué)名著導(dǎo)讀(2)-形成性考核二答案
- 青島版三年級(jí)上冊(cè)數(shù)學(xué) 兩位數(shù)乘一位數(shù)的口算 教案
- 學(xué)校教室室內(nèi)裝修工程施工組織設(shè)計(jì)方案
- 河道整治護(hù)岸施工方案
- 《尋訪小動(dòng)物》ppt課件
評(píng)論
0/150
提交評(píng)論