![雜志訂閱管理系統(tǒng) -- 課程設(shè)計(jì)報(bào)告_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-7/9/e4fed4bb-3eec-4326-b3d2-07f232107c9f/e4fed4bb-3eec-4326-b3d2-07f232107c9f1.gif)
![雜志訂閱管理系統(tǒng) -- 課程設(shè)計(jì)報(bào)告_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-7/9/e4fed4bb-3eec-4326-b3d2-07f232107c9f/e4fed4bb-3eec-4326-b3d2-07f232107c9f2.gif)
![雜志訂閱管理系統(tǒng) -- 課程設(shè)計(jì)報(bào)告_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-7/9/e4fed4bb-3eec-4326-b3d2-07f232107c9f/e4fed4bb-3eec-4326-b3d2-07f232107c9f3.gif)
![雜志訂閱管理系統(tǒng) -- 課程設(shè)計(jì)報(bào)告_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-7/9/e4fed4bb-3eec-4326-b3d2-07f232107c9f/e4fed4bb-3eec-4326-b3d2-07f232107c9f4.gif)
![雜志訂閱管理系統(tǒng) -- 課程設(shè)計(jì)報(bào)告_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-7/9/e4fed4bb-3eec-4326-b3d2-07f232107c9f/e4fed4bb-3eec-4326-b3d2-07f232107c9f5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 測(cè)控技術(shù)與儀器 專業(yè)課程設(shè)計(jì)題單 班級(jí) 學(xué)號(hào) 姓名 課程名稱 計(jì)算機(jī)課程設(shè)計(jì) 課 題 雜志訂閱管理系統(tǒng) 設(shè)計(jì)要求 (1)分組后,每組抽取一個(gè)題目,每人完成該題目 的一個(gè)功能模塊的設(shè)計(jì); (2)鋸齒型書寫格式,菜單式界面 ; (3)必須上機(jī)調(diào)試通過(guò); (4)每人單獨(dú)完成一份完整的課程設(shè)計(jì)報(bào)告。 課 題 發(fā) 給 日 期 課程設(shè)計(jì)完成日期 指 導(dǎo) 教 師 評(píng)語(yǔ): 計(jì)算機(jī)課程設(shè)計(jì)細(xì)則一、設(shè)計(jì)要求:1、分組后,每組抽取一個(gè)題目,每人完成該題目的一個(gè)功能模塊的設(shè)計(jì)。2、模塊化程序設(shè)計(jì),鋸齒型書寫格式。3、輸出要求: 1) 應(yīng)用程序正常運(yùn)行后,要在屏幕上顯示一個(gè)文字菜單;2) 要求用戶輸入數(shù)據(jù)時(shí),要給出清
2、晰、明確的提示信息,包括輸入的數(shù)據(jù)內(nèi)容、格式等;3)為各項(xiàng)操作功能設(shè)計(jì)一個(gè)菜單,應(yīng)用程序運(yùn)行后,先顯示這個(gè)菜單,然后用戶通過(guò)菜單項(xiàng)選擇希望進(jìn)行的操作項(xiàng)目。4、必須上機(jī)調(diào)試通過(guò)。二、設(shè)計(jì)報(bào)告格式:寫設(shè)計(jì)報(bào)告(要求正規(guī)打印,A4幅面),內(nèi)容包括:1、題目(封面)2、計(jì)算機(jī)課程設(shè)計(jì)細(xì)則3、前言,需求分析(鼓勵(lì)設(shè)置目錄)4、概要設(shè)計(jì)(程序設(shè)計(jì)組成框圖、流程圖)5、詳細(xì)設(shè)計(jì)(模塊功能說(shuō)明(如函數(shù)功能、入口及出口參數(shù)說(shuō)明,函數(shù)調(diào)用關(guān)系描述等)6、源程序清單和執(zhí)行結(jié)果:清單中應(yīng)有足夠的注釋7、用戶使用說(shuō)明8、調(diào)試與測(cè)試:調(diào)試方法,測(cè)試結(jié)果及采取的解決措施的分析與討論。9、附錄或參考資料 三、檢查要求:1、每
3、個(gè)人必須有可運(yùn)行的程序2、每個(gè)人必須單獨(dú)完成一份完整的課程設(shè)計(jì)報(bào)告。(打印稿)四、打分標(biāo)準(zhǔn):1、教師定期檢查學(xué)生進(jìn)度,學(xué)生不得以自己有私人電腦為借口而不來(lái)上機(jī)。2、根據(jù)程序運(yùn)行結(jié)果;3、根據(jù)計(jì)算機(jī)課程設(shè)計(jì)報(bào)告,學(xué)生能正確并熟練地解釋清楚教師對(duì)程序的提問(wèn)。以上三項(xiàng)缺一不可,否則不能到得相應(yīng)學(xué)分。雜志訂閱管理系統(tǒng)設(shè)有一本雜志,該雜志最多擁有訂戶不超過(guò)10戶,每個(gè)訂戶的信息包括:姓名,訂戶編號(hào),性別,電話號(hào)碼,訂閱數(shù),訂閱日期,訂閱期限(某年某月) ,設(shè)計(jì)一雜志訂閱管理系統(tǒng) ,系統(tǒng)以菜單方式工作,能提供以下功能:1、錄入訂戶信息到文件由李琴波完成2、主界面及瀏覽所有訂戶信息由周鑫完成3、查詢功能(至
4、少實(shí)現(xiàn)兩種方式):如:按訂戶編號(hào)查詢、按訂閱期限查詢等由李永健完成4、修改功能:修改訂戶信息 由程蔚濯完成5、刪除功能:刪除已到期的訂戶記錄 由饒雅清完成6、統(tǒng)計(jì)功能:統(tǒng)計(jì)本期雜志訂戶數(shù)和訂閱總量等由張佩利完成附一:時(shí)間安排表教學(xué)內(nèi)容學(xué)時(shí)地點(diǎn)備注設(shè)計(jì)動(dòng)員,布置任務(wù)0.5天1021118周周一上午查閱資料,分析、討論與設(shè)計(jì)1天圖書館、1021118周周一下午至周二上午集體討論0.5天1021118周周二下午編寫程序,進(jìn)行調(diào)試4天1021118周周三至19周周一完成模塊聯(lián)調(diào),進(jìn)行測(cè)試2天1021119周周二至周三成果驗(yàn)收,完成設(shè)計(jì)報(bào)告2天1021119周四至周五 本人完成刪除功能模塊設(shè)計(jì) 雜志訂閱
5、管理系統(tǒng)課程設(shè)計(jì)目 錄一、前言-5 1.1 特色-5二、需求分析-6 2.1 系統(tǒng)目標(biāo)-6 2.2 運(yùn)行環(huán)境-6 2.3 用戶特點(diǎn)-6 2.4 功能要求-6三、概要設(shè)計(jì)-7四、主界面流程圖-9五、統(tǒng)計(jì)訂戶信息流程圖-10六、詳細(xì)設(shè)計(jì)-11七、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)-11八、源程序清單-12 8.1 源代碼-12 8.2 統(tǒng)計(jì)程序源代碼-16九、用戶使用說(shuō)明-18十、調(diào)試與測(cè)試-23 10.1 邏輯調(diào)試-23 10.2 語(yǔ)法調(diào)試-23 10.3 測(cè)試結(jié)果-23 10.4 采取的解決措施的分析與討論-23十一、心得體會(huì)-25十二、參考文獻(xiàn)-26一、前言 我們學(xué)習(xí)C語(yǔ)言課程設(shè)計(jì)的主要目的是為了了解和熟悉C語(yǔ)言
6、的編程。學(xué)習(xí)C語(yǔ)言要經(jīng)過(guò)一個(gè)“理論實(shí)踐在理論在實(shí)踐”的過(guò)程。而學(xué)習(xí)C語(yǔ)言課程設(shè)計(jì)就是要我們進(jìn)行實(shí)踐,從中發(fā)現(xiàn)問(wèn)題,解決問(wèn)題,提高我們運(yùn)用C語(yǔ)言的能力。是我們能夠運(yùn)用C語(yǔ)言解決一些問(wèn)題。通過(guò)不斷的編程,熟能生巧,是我們的理論學(xué)習(xí)也有了實(shí)踐基礎(chǔ),學(xué)習(xí)理論知識(shí)就較為容易一些,然后再通過(guò)實(shí)踐不斷的提高,如此良性循環(huán)就能是我們的C語(yǔ)言編程能力更上一成樓。開(kāi)發(fā)一個(gè)雜志訂閱系統(tǒng)對(duì)于那些熱愛(ài)雜志的人來(lái)說(shuō)無(wú)疑是一個(gè)很大的幫助,以后就可以足不出戶在網(wǎng)絡(luò)上隨意訂閱自己喜歡的雜志,而且雜志社還可以保留新老客戶的訂閱信息,也方便客戶查詢。C語(yǔ)言是一個(gè)程序語(yǔ)言,設(shè)計(jì)目標(biāo)是提供一種能以簡(jiǎn)易的方式編譯、處理低階內(nèi)存、產(chǎn)生少量
7、的機(jī)械碼以及不需要任何執(zhí)行環(huán)境支援便能執(zhí)行的編程語(yǔ)言。C語(yǔ)言也很適合搭配匯編語(yǔ)言來(lái)使用。盡管C語(yǔ)言提供了許多低階處理的功能,但仍然保持著良好跨平臺(tái)的特性,以一個(gè)標(biāo)準(zhǔn)規(guī)格寫出的C語(yǔ)言程式可在許多電腦平臺(tái)上進(jìn)行編譯,甚至包含一些嵌入式處理器(微控制器或稱MCU)以及超級(jí)電腦等作業(yè)平臺(tái)。1.1特色: C語(yǔ)言是一個(gè)有結(jié)構(gòu)化程式設(shè)計(jì)、具有變量作用域(variable scope)以及遞歸功能的過(guò)程式語(yǔ)言。 傳遞參數(shù)是以值傳遞(Pass-by-value),也可以透過(guò)指針來(lái)傳遞參數(shù)(Pass-by-address)。 不同的變量類型可以用結(jié)構(gòu)體(struct)組合在一起。 只有32個(gè)保留字(reserve
8、d keywords),使變量、函數(shù)命名有更多彈性。 部份的變量類型可以轉(zhuǎn)換,例如整型和字符型變量。 透過(guò)指針(pointer),C語(yǔ)言可以容易的對(duì)內(nèi)存進(jìn)行低階控制。 編譯預(yù)處理(preprocessor)讓C語(yǔ)言的編譯更具有彈性。二、需求分析2.1系統(tǒng)目標(biāo)本系統(tǒng)總體目標(biāo)是運(yùn)用該管理系統(tǒng),對(duì)一期雜志的訂閱用戶信息進(jìn)行統(tǒng)一,方便的管理。在設(shè)計(jì)該管理系統(tǒng)的過(guò)程中,應(yīng)實(shí)現(xiàn)以下操作:1) 程序正常運(yùn)行后,在屏幕上顯示一個(gè)文字菜單;2)用戶輸入數(shù)據(jù)時(shí),給出清晰、明確的提示信息,包括輸入的數(shù)據(jù)內(nèi)容、格式等;3)應(yīng)用程序運(yùn)行后,先顯示主菜單,用戶可以根據(jù)菜單選擇所需操作,繼而完成相應(yīng)的操作。4)具有較高的可
9、靠性和可用性;5)使用方便,直觀且便于操作;6)系統(tǒng)易于管理維護(hù)。2.2、運(yùn)行環(huán)境 一臺(tái)能運(yùn)行.exe可執(zhí)行文件和讀取txt文本文檔的計(jì)算機(jī)或其他電子設(shè)備。2.3、用戶特點(diǎn) 具備基礎(chǔ)的計(jì)算機(jī)操作技能、了解簡(jiǎn)單的英語(yǔ)單詞。2.4、功能需求1)錄入訂戶信息到文件2)主界面及瀏覽所有訂戶信息3)查詢功能(至少實(shí)現(xiàn)兩種方式): 如:按訂戶編號(hào)查詢、按訂閱期限查詢等4)修改功能:修改訂戶信息 5)刪除功能:刪除已到期的訂戶記錄 6)統(tǒng)計(jì)功能:統(tǒng)計(jì)本期雜志訂戶數(shù)和訂閱總量等三、概要設(shè)計(jì)程序框圖雜志訂閱管理系統(tǒng)按姓名查找訂戶信息按訂戶編號(hào)查找訂戶信息瀏覽所有訂戶信息添加新訂戶信息刪除訂戶信息修改訂戶信息統(tǒng)計(jì)
10、本期雜志訂戶數(shù)統(tǒng)計(jì)本期雜志訂閱總量退出 1. 主要的結(jié)構(gòu)體為node,包括用戶的基本信息:姓名,訂戶編號(hào),性別,地址,電話號(hào)碼,訂閱數(shù)和訂閱期限。全局變量為結(jié)構(gòu)體變量typedef struct entry。主函數(shù)采用while循環(huán)語(yǔ)句,9個(gè)語(yǔ)句分別對(duì)應(yīng)9個(gè)子函數(shù),操作簡(jiǎn)單方便。2. 調(diào)用void insert()函數(shù),增加新訂戶。打開(kāi)文件,采用while語(yǔ)句判斷用戶數(shù)是否超過(guò)10個(gè),若沒(méi)有,采用for循環(huán)依次寫入需添加的用戶信息并保存,即完成添加用戶功能。3. 調(diào)用int del()函數(shù),刪除到期訂戶記錄。采用while語(yǔ)句依次檢查文件中的到期用戶,采用if判斷語(yǔ)判斷系統(tǒng)中是否存在到期用戶,
11、若存在,刪除其用戶信息并保存。即完成刪除操作。4. 調(diào)用int customerNum()和int orderNum()函數(shù),統(tǒng)計(jì)雜志訂閱用戶數(shù)和訂閱總量。主要采用while循環(huán)語(yǔ)句依次統(tǒng)計(jì)訂戶數(shù)和訂閱總量并輸出,即完成統(tǒng)計(jì)操作。5. 調(diào)用void modify()函數(shù),修改訂戶信息。用While循環(huán)語(yǔ)句依次查找文件中需要修改的用戶,用if語(yǔ)句判斷所需修改用戶是否存在并逐次修改其信息并保存,即實(shí)現(xiàn)修改功能。6. 調(diào)用void showlist()函數(shù),瀏覽所有訂戶信息。在程序運(yùn)行開(kāi)始時(shí)鍵入“hello”時(shí)系統(tǒng)會(huì)顯示一次當(dāng)前訂戶信息,按3調(diào)用模塊時(shí),用指針P依次指向文件中信息,并依次輸出信息。7
12、. 調(diào)用int searchbyName()和int searchByid()函數(shù),以姓名和訂戶編號(hào)查找用戶信息。采用while循環(huán)語(yǔ)句依次查找系統(tǒng)中所存在的所有用戶,采用if語(yǔ)句判斷是否存在所查找用戶并輸出。8. 調(diào)用void tuichu()函數(shù),退出并判斷是否保存當(dāng)前訂戶信息。在程序運(yùn)行結(jié)束時(shí),系統(tǒng)會(huì)自動(dòng)根據(jù)用戶需求做出相應(yīng)的響應(yīng),即完成是否(y/n)保存操并退出系統(tǒng)。四、主界面流程圖:開(kāi)始提示驗(yàn)證信息(Hello)輸入password,判斷是否為Hello?根據(jù)i值調(diào)用相應(yīng)功能模塊函數(shù)結(jié)束五、刪除訂戶信息流程圖:開(kāi)始進(jìn)入主界面輸入截止日期,判斷是否存在到期用戶刪除該用戶結(jié)束1.六、詳細(xì)
13、設(shè)計(jì)雜志訂閱管理系統(tǒng)該系統(tǒng)管理一期雜志,最多訂戶不超過(guò)10戶,其訂戶信息包括:姓名,訂戶編號(hào),性別,電話號(hào)碼,訂閱數(shù),訂閱日期,訂閱期限(某年某月),此外,該系統(tǒng)以菜單方式工作,提供以下功能:1、錄入訂戶信息到文件2、主界面及瀏覽所有訂戶信息3、查詢功能(能夠?qū)崿F(xiàn)兩種查詢方式): 即按訂戶編號(hào)查詢、按訂戶姓名查詢等4、修改功能:修改訂戶信息 5、刪除功能:刪除已到期的訂戶記錄 6、統(tǒng)計(jì)功能:統(tǒng)計(jì)本期雜志訂戶數(shù)和訂閱總量。七、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì):在整個(gè)程序中采用了多種數(shù)據(jù)類型:整型int 整型 長(zhǎng)整型long基本類型字符型 char空類型 viod 數(shù)據(jù)類型 構(gòu)造類型 結(jié)構(gòu)體類型( struct |
14、)指針類型 ( T * )、數(shù)組、鏈表八、源程序清單8.1源代碼:#include /*標(biāo)準(zhǔn)輸入輸出頭文件*/#include /*申請(qǐng)動(dòng)態(tài)內(nèi)存頭文件*/#include /*字符串頭文件*/int flag=0; /*定義整型變量flag并賦值0*/typedef struct entry /*聲明結(jié)構(gòu)體*/ char id30; /*定義字符型數(shù)組*/ char gender; /*定義字符型變量*/char name20; /*定義字符型數(shù)組*/long tele; /*定義長(zhǎng)整型變量*/int quantity; /*定義整型變量*/ char date20; /*定義字符型數(shù)組*/
15、char dueDate20; /*定義字符型數(shù)組*/ struct entry *next; /*定義指向entry結(jié)構(gòu)體的指針*/node;node *head, *tail; /* 頭指針,尾指針指向node中的結(jié)構(gòu)體*/ void draw_service() /* service 菜單模塊*/ printf(t*n); printf(t* *n); printf(t* Welcome to Magzine Customer Managment System *n); printf(t* *n); printf(t*n); printf(nnnn); printf(*n); /*輸出*
16、/printf(* please choose a service *n); printf(* *n); printf(* 1.-serach by name *n); printf(* 2.-serach by id *n); printf(* 3.-display *n); printf(* 4.-add new record *n); printf(* 5.-delete *n); printf(* 6.-modify *n); printf(* 7.-show customer number *n); printf(* 8.-show magzine quantity *n); pri
17、ntf(* 9.-exit *n); printf(* *n); printf(*n);void read() int i; /*定義整型變量i*/node *p, *s, *pre; /*定義三個(gè)指向結(jié)構(gòu)體的指針變量*/FILE *fp=NULL; /*將NULL賦給指向文件的指針*/if (fp = fopen(info.txt,r+) = NULL) /*以讀寫方式打開(kāi)文件,打開(kāi)失敗返回NULL*/ printf(ERROR openning filen); /*輸出信息*/ system(pause); /*系統(tǒng)暫停*/ return; p=head; s=head; /*將頭指針的起
18、始地址賦給指針變量p,s*/i = 0;printf(Reading records from filen);while ( (fscanf(fp,%s %s %c %ld %d %s %s, /*將fp指定的文件按給定格式輸入數(shù)據(jù)送到指定內(nèi)存單元*/ p-id, p-name, &p-gender, &p-tele, &p-quantity ,p-date, p-dueDate) != EOF)printf(No.%dt id:%st name:%st gender:%ct telephone: %ldt quantity:%dt issueDate:%st dueDate:%snn, i,
19、p-id, p-name, p-gender, p-tele, p-quantity, p-date, p-dueDate);i+;flag+;if(i=10)printf(用戶最多只能十個(gè)n);break;s = (node *)malloc(sizeof(node); /*分配字節(jié)存儲(chǔ)區(qū)*/pre = p;p-next = s;p = s;pre-next = NULL;free(s); /*釋放內(nèi)存*/p-next=NULL;tail = pre; fclose(fp); /*關(guān)閉文件*/ printf(File Reading Succeeded!n);system(pause); /
20、*系統(tǒng)暫停*/int main()system(color 3f); /*設(shè)置背景色及字體色*/ char password20 = hello , inputpass20; /*定義一個(gè)字符型數(shù)組*/ int choice; head=(node *)malloc(sizeof(node); /*head為動(dòng)作指針,申請(qǐng)內(nèi)存空間,分配SIZE字節(jié)的內(nèi)存區(qū)*/ while (1) /*當(dāng)表達(dá)式為非0時(shí),執(zhí)行while語(yǔ)句中的內(nèi)嵌語(yǔ)句 */ printf(t*n);printf(t* *n);printf(t* Welcome to Magzine Customer Managment Syst
21、em *n);printf(t* *n);printf(t*n);printf(please input the Password(the password is hello)n);scanf(%s, inputpass); /*從鍵盤輸入通行字*/ if (strcmp(password,inputpass) = 0) /*判斷通行字是否正確*/break; else system(cls); /*清屏*/printf(nWrong Password please try againn); /*輸出提示語(yǔ)句*/ read(); /*調(diào)用read函數(shù)*/int count = 0; /*定義一
22、個(gè)整形變量count,將0賦給這個(gè)變量 */while (1) /*當(dāng)表達(dá)式為非0時(shí),執(zhí)行while語(yǔ)句中的內(nèi)嵌語(yǔ)句 */system(cls); /*清屏*/ system(color 2f); /*設(shè)置背景色及字體色*/draw_service(); /*調(diào)用draw_service()模塊*/scanf(%d, &choice); switch (choice) /*利用switch語(yǔ)句實(shí)現(xiàn)多分支選擇結(jié)構(gòu)*/ case 1: searchbyName(); break; /*實(shí)現(xiàn)按姓名查找操作*/ case 2: searchbyid(); break; /*按訂戶編號(hào)信息查找*/ ca
23、se 3: showlist();break; /*瀏覽所有訂戶信息 */ case 4: insert(); break; /*錄入訂戶信息*/ case 5: del();break; /*刪除訂戶信息*/ case 6: modify();break; /*修改訂戶信息*/ case 7: system(cls); count = customerNum(); /*清屏,將訂戶總數(shù)賦給count*/ printf(There are %d customers.n, count); /*輸出count值*/ system(pause);break; /*系統(tǒng)暫停,按任意鍵繼續(xù)*/ case
24、 8: system(cls); count = orderNum(); /*清屏,將訂戶數(shù)賦給count*/ printf(There are %d magzine ordered.n, count); /*輸出count*/ system(pause);break; /*系統(tǒng)暫停,按任意鍵繼續(xù)*/ case 9: writefile(); break; /*保存當(dāng)前信息*/ case 10: exit();return 0; /*退出*/ return 0;8.2 刪除模塊源代碼:int del() node *p, *q, *temp; /*定義指向node結(jié)構(gòu)體指針*/ char ke
25、y30; int c; system(cls); showlist(); p = head; q = head; /* 將頭指針head的起始地址賦給指針p ,q*/ printf(nplease input the date of duedaten); scanf(%s,key); while(p != NULL) /*當(dāng)p不指向NULL時(shí)執(zhí)行while中內(nèi)嵌語(yǔ)句*/ if (!strcmp(key,p-dueDate) if (p = head) temp = head; head = p-next; /free(temp); else if (p = tail) temp = tail;
26、 q-next = NULL; tail = q; /free(temp); else q-next = p-next; /free(p); q = p; p = p-next; /*使p指向下一個(gè)結(jié)點(diǎn)*/ showlist(); flag-; system(pause); /*系統(tǒng)暫停,按任意鍵繼續(xù)*/ return -1;九、用戶使用說(shuō)明用戶運(yùn)行程序后,需按要求從鍵盤輸入通行字“hello”,驗(yàn)證通過(guò)后可瀏覽當(dāng)前所有訂戶信息(姓名,訂戶編號(hào),性別,電話號(hào)碼,訂閱數(shù),訂閱日期,訂閱期限),按任意鍵,進(jìn)入選擇菜單,根據(jù)用戶需求從鍵盤輸入相應(yīng)數(shù)字調(diào)用相應(yīng)模塊,實(shí)現(xiàn)訂戶所需服務(wù)。退出時(shí),系統(tǒng)會(huì)自動(dòng)
27、輸出提示語(yǔ)以判斷是否(y/n)需要保存添加,修改,或者刪除后的用戶信息并作出相應(yīng)選擇。完成用戶需求后,按任意鍵退出即可。運(yùn)行界面十、調(diào)試與測(cè)試10.1邏輯調(diào)試設(shè)計(jì)主界面時(shí)需要先判斷當(dāng)前文件中是否存有內(nèi)容,有則直接進(jìn)行各功能的選擇和函數(shù)的調(diào)用,沒(méi)有則先錄入信息再進(jìn)行各功能的選擇和函數(shù)的調(diào)用。當(dāng)函數(shù)調(diào)用完成后必須要進(jìn)行保存。10.2語(yǔ)法調(diào)試在寫好程序后,進(jìn)行上機(jī)調(diào)試中有許多由于疏忽而造成的錯(cuò)誤。1)定義變量類型錯(cuò)誤,用戶姓名應(yīng)該定義為字節(jié)類型。2)當(dāng)語(yǔ)句結(jié)束時(shí),最后不能忽略分號(hào)。3)不同程序段調(diào)用相同函數(shù)的函數(shù)名要統(tǒng)一,對(duì)于不同函數(shù)要用到相同的數(shù)據(jù)時(shí), 定義此數(shù)據(jù)的變量也要統(tǒng)一。4)當(dāng)字符串進(jìn)行比
28、較是否相等時(shí),不能用“=”來(lái)進(jìn)行比較,必須用strcmp來(lái)進(jìn)行比較,strcmp是用于字符串比較的,而“=”是用于數(shù)據(jù)比較的。5) 清屏功能必須要寫在函數(shù)段的輸出前才有效,并且每個(gè)函數(shù)段都要用到清屏功能。6)主界面的設(shè)計(jì)當(dāng)中也要進(jìn)行對(duì)文件的輸入、讀取和保存的使用。7)在程序結(jié)束之前,要保存文件以免丟失文件。10.3測(cè)試結(jié)果經(jīng)過(guò)反復(fù)的調(diào)試之后,對(duì)每一個(gè)錯(cuò)誤和警告進(jìn)行修改,對(duì)每一個(gè)函數(shù)的功能進(jìn)行分析,對(duì)各模塊之間的函數(shù)關(guān)系進(jìn)行整理,逐個(gè)改正錯(cuò)誤,使得調(diào)試成功!10.4 采取的解決措施的分析與討論(1)在編寫復(fù)雜的程序時(shí)要多利用函數(shù),用一個(gè)函數(shù)來(lái)實(shí)現(xiàn)一個(gè)單獨(dú)的功能。各函數(shù)之間除用參數(shù)傳遞數(shù)據(jù)外,盡量
29、少出現(xiàn)耦合關(guān)系,便于分別檢查和處理。(2)編譯時(shí)出現(xiàn)語(yǔ)法錯(cuò)誤的信息,調(diào)試時(shí)根據(jù)提示信息找出程序中出錯(cuò)之處并進(jìn)行逐一分析改正,直至無(wú)錯(cuò)誤出現(xiàn)。(3)運(yùn)行結(jié)果錯(cuò)誤時(shí),大多屬于邏輯錯(cuò)誤。我們采用以下辦法:將程序與流程圖仔細(xì)對(duì)照,如果流程圖是正確的,程序?qū)戝e(cuò)了,是很容易發(fā)現(xiàn)的。例如,復(fù)合語(yǔ)句忘記寫花括弧,只要一對(duì)照流程圖就能很快發(fā)現(xiàn)。果正確與否。實(shí)在找不到錯(cuò)誤,可以采用“分段檢查”的方法。在程序不同的位置設(shè)幾個(gè)printf函數(shù)語(yǔ)句,輸出有關(guān)變量的值,逐段往下檢查。直到找到在某一段中數(shù)據(jù)不對(duì)為止。這時(shí)就已經(jīng)把錯(cuò)誤局限在這一段中了。不斷減小“查錯(cuò)區(qū)”,就能發(fā)現(xiàn)錯(cuò)誤所在。也可以用“條件編譯”命令進(jìn)行程序調(diào)試(在程序調(diào)試階段,若干printf函數(shù)語(yǔ)句就要進(jìn)行編譯并執(zhí)行。當(dāng)調(diào)試完畢,
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- PB-22-8-Hydroxyisoquinoline-isomer-生命科學(xué)試劑-MCE-5052
- Lariciresinol-4-O-β-D-glucopyranoside-生命科學(xué)試劑-MCE-5846
- E3-Ligase-Ligand-linker-Conjugate-122-生命科學(xué)試劑-MCE-1944
- 二零二五年度航空航天產(chǎn)業(yè)融資合作協(xié)議書
- 二零二五年度用人單位與派遣公司國(guó)際化人才派遣服務(wù)協(xié)議
- 2025年度音樂(lè)制作與音樂(lè)版權(quán)許可合同
- 2025年度活動(dòng)板房銷售與臨時(shí)辦公場(chǎng)所租賃合同
- 二零二五年度商業(yè)地產(chǎn)貸款合同范本
- 2025年度飯店短期餐飲服務(wù)員勞務(wù)派遣協(xié)議
- 二零二五年度工業(yè)用地使用權(quán)整體轉(zhuǎn)讓合同
- 《春酒》琦君完整版
- 北師大版(2024新版)七年級(jí)上冊(cè)數(shù)學(xué)第四章《基本平面圖形》測(cè)試卷(含答案解析)
- 湖南省邵陽(yáng)市武岡市2024屆高三上學(xué)期期中考試地理含答案解析
- 2022年內(nèi)分泌醫(yī)療質(zhì)量控制評(píng)價(jià)體系與考核標(biāo)準(zhǔn)
- 春節(jié)后復(fù)工安全教育培訓(xùn)考試試題及答案
- 寄宿制學(xué)校工作總結(jié)
- 小學(xué)數(shù)學(xué)6年級(jí)應(yīng)用題100道附答案(完整版)
- 2024年江蘇農(nóng)牧科技職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)含答案
- JT-T 1495-2024 公路水運(yùn)危險(xiǎn)性較大工程專項(xiàng)施工方案編制審查規(guī)程
- JT-T-390-1999突起路標(biāo)行業(yè)標(biāo)準(zhǔn)
- 2023年四川省成都市武侯區(qū)中考物理二診試卷(含答案)
評(píng)論
0/150
提交評(píng)論