課程設(shè)計(jì)說(shuō)明書示例_第1頁(yè)
課程設(shè)計(jì)說(shuō)明書示例_第2頁(yè)
課程設(shè)計(jì)說(shuō)明書示例_第3頁(yè)
課程設(shè)計(jì)說(shuō)明書示例_第4頁(yè)
課程設(shè)計(jì)說(shuō)明書示例_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論