C語言電子詞典程序設(shè)計(jì)_第1頁(yè)
C語言電子詞典程序設(shè)計(jì)_第2頁(yè)
C語言電子詞典程序設(shè)計(jì)_第3頁(yè)
C語言電子詞典程序設(shè)計(jì)_第4頁(yè)
C語言電子詞典程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、沈 陽 工 程 學(xué) 院課 程 設(shè) 計(jì)設(shè)計(jì)題目: 電子詞典 系 別 信息工程系 班級(jí) 計(jì)本083 學(xué)生姓名 學(xué)號(hào) 22 指導(dǎo)教師 姜柳、呂海華 職稱 講師、講師 起止日期:2009年6月15日起2009年6月26日止沈 陽 工 程 學(xué) 院課程設(shè)計(jì)任務(wù)書課程設(shè)計(jì)題目: 電子詞典 (第 1 組) 系 別 信息工程系 班級(jí) 計(jì)本075 學(xué)生姓名 于滿盛 學(xué)號(hào) 2008412322 指導(dǎo)教師 姜柳、呂海華 職稱 講師、講師 課程設(shè)計(jì)進(jìn)行地點(diǎn): 實(shí)訓(xùn)F 任 務(wù) 下 達(dá) 時(shí) 間: 2009年 6月 15日 起止日期:2009年6月15日起2009年6月26日止 教研室主任 姜柳 2009年6月15日批準(zhǔn)一、

2、課程設(shè)計(jì)的原始資料及依據(jù)在計(jì)算機(jī)中建立有限規(guī)模的電子英漢詞典,利用程序?qū)崿F(xiàn)電子英漢詞典的查找、增加、刪除、修改等功能。查閱有關(guān)資料,進(jìn)一步理解程序設(shè)計(jì)模塊化的思想,并利用此思想編寫一個(gè)簡(jiǎn)單的電子詞典。通過本設(shè)計(jì)可以加深理解利用程序設(shè)計(jì)思想開發(fā)一個(gè)系統(tǒng)的整個(gè)流程,提高分析問題、解決問題和實(shí)際動(dòng)手的能力。二、課程設(shè)計(jì)主要內(nèi)容及要求1.認(rèn)真閱讀資料,掌握程序設(shè)計(jì)模塊化的思想。2.要求在設(shè)計(jì)的過程中,建立清晰的層次結(jié)構(gòu)。3.畫出主要的功能結(jié)構(gòu)圖和主要模塊的流程圖。4.實(shí)現(xiàn)功能:查找單詞。增加單詞。萬年歷修改單詞。顯示單詞。保存單詞。返回幫助退出5. 要求操作簡(jiǎn)單,用戶界面友好。6. 運(yùn)行程序,檢查結(jié)果

3、是否和理論值一致。7. 環(huán)境使用Windows,Turbo C環(huán)境。三、對(duì)課程設(shè)計(jì)說明書撰寫內(nèi)容、格式、字?jǐn)?shù)的要求1.課程設(shè)計(jì)說明書是體現(xiàn)和總結(jié)課程設(shè)計(jì)成果的載體,主要內(nèi)容包括:設(shè)計(jì)題目、設(shè)計(jì)目的、設(shè)備器材、設(shè)計(jì)原理及內(nèi)容、設(shè)計(jì)步驟、遇到的問題及解決方法、設(shè)計(jì)總結(jié)、參考文獻(xiàn)等。一般不應(yīng)少于3000字。2.在適當(dāng)位置配合相應(yīng)的實(shí)驗(yàn)原理圖、功能模塊圖、算法流程圖等圖表進(jìn)行說明。應(yīng)做到文理通順,內(nèi)容正確完整,書寫工整,裝訂整齊。3.設(shè)計(jì)總結(jié)部分主要寫本人完成工作簡(jiǎn)介以及自己的設(shè)計(jì)體會(huì),包括通過課程設(shè)計(jì)學(xué)到了什么,哪里遇到了困難,解決的辦法以及今后的目標(biāo)。4.課程設(shè)計(jì)說明書手寫或打印均可。手寫要用學(xué)校

4、統(tǒng)一的課程設(shè)計(jì)用紙,用黑或藍(lán)黑墨水工整書寫;打印時(shí)采用A4紙,頁(yè)邊距均為20mm,正文采用宋體小四號(hào)字,行間距18磅。文中大標(biāo)題采用黑體小三號(hào)字,一級(jí)節(jié)標(biāo)題采用黑體四號(hào)字,二級(jí)節(jié)標(biāo)題采用黑體小四號(hào)字,表題與圖題采用宋體五號(hào)字。5.課程設(shè)計(jì)說明書裝訂順序?yàn)椋悍饷?、任?wù)書、成績(jī)?cè)u(píng)定表、目錄、正文、參考文獻(xiàn)。四、設(shè)計(jì)完成后應(yīng)提交成果的種類、數(shù)量、質(zhì)量等方面的要求1.完成“任務(wù)書”中指定的功能,運(yùn)行結(jié)果正確。2.課程設(shè)計(jì)說明書。五、時(shí)間進(jìn)度安排順序階段日期計(jì) 劃 完 成 內(nèi) 容備注12007.06.1819閱讀資料及系統(tǒng)分析設(shè)計(jì)22007.06.2022程序編制32007.06.2528程序編制、調(diào)試

5、及運(yùn)行42007.06.28成績(jī)?cè)u(píng)定52007.06.29書寫課程設(shè)計(jì)說明書六、主要參考資料(文獻(xiàn))1譚浩強(qiáng) 編著 C程序設(shè)計(jì)(第二版)。北京:清華大學(xué)出版社,20052吳文虎 編著 程序設(shè)計(jì)基礎(chǔ)(第3版)。 北京:清華大學(xué)出版社,20053 譚浩強(qiáng) 編著 C程序設(shè)計(jì)(第三版)。北京:清華大學(xué)出版社,20064C編寫組 常用C語言用法速查手冊(cè)。北京:龍門書局,1995 5Herbert Schildt 著 王曦若、李沛譯 ANSI C標(biāo)準(zhǔn)詳解。北京:電子工業(yè)出版社,19946鄭莉 董淵 張瑞豐 編著 C+語言程序設(shè)計(jì)(第3版)。 北京:清華大學(xué)出版社,2006 沈 陽 工 程 學(xué) 院程序設(shè)計(jì)基

6、礎(chǔ)課程設(shè)計(jì)成績(jī)?cè)u(píng)定表系(部): 信息工程系 班級(jí): 計(jì)本083 學(xué)生姓名: 于滿盛 指 導(dǎo) 教 師 評(píng) 審 意 見評(píng)價(jià)內(nèi)容具 體 要 求權(quán)重評(píng) 分加權(quán)分調(diào)研論證能獨(dú)立查閱文獻(xiàn),收集資料;能制定課程設(shè)計(jì)方案和日程安排。0.15432工作能力態(tài)度工作態(tài)度認(rèn)真,遵守紀(jì)律,出勤情況是否良好,能夠獨(dú)立完成設(shè)計(jì)工作, 0.25432工作量按期圓滿完成規(guī)定的設(shè)計(jì)任務(wù),工作量飽滿,難度適宜。0.25432說明書的質(zhì)量說明書立論正確,論述充分,結(jié)論嚴(yán)謹(jǐn)合理,文字通順,技術(shù)用語準(zhǔn)確,符號(hào)統(tǒng)一,編號(hào)齊全,圖表完備,書寫工整規(guī)范。0.55432指導(dǎo)教師評(píng)審成績(jī)(加權(quán)分合計(jì)乘以8) 分加權(quán)分合計(jì)指 導(dǎo) 教 師 簽 名:

7、 年 月 日評(píng) 閱 教 師 評(píng) 審 意 見評(píng)價(jià)內(nèi)容具 體 要 求權(quán)重評(píng) 分加權(quán)分查閱文獻(xiàn)查閱文獻(xiàn)有一定廣泛性;有綜合歸納資料的能力0.25432工作量工作量飽滿,難度適中。0.55432說明書的質(zhì)量說明書立論正確,論述充分,結(jié)論嚴(yán)謹(jǐn)合理,文字通順,技術(shù)用語準(zhǔn)確,符號(hào)統(tǒng)一,編號(hào)齊全,圖表完備,書寫工整規(guī)范。0.35432評(píng)閱教師評(píng)審成績(jī)(加權(quán)分合計(jì)乘以4)分加權(quán)分合計(jì)評(píng) 閱 教 師 簽 名: 年 月 日答 辯 小 組 評(píng) 審 意 見評(píng)價(jià)內(nèi)容具 體 要 求權(quán)重評(píng) 分加權(quán)分學(xué)生匯報(bào)匯報(bào)準(zhǔn)備充分,思路清晰;語言表達(dá)準(zhǔn)確,概念清楚,論點(diǎn)正確,有層次,有重點(diǎn),基本上反映了所完成任務(wù)的全部?jī)?nèi)容;時(shí)間符合要求

8、。0.55432答 辯思路清晰;回答問題有理論依據(jù),基本概念清楚;主要問題回答準(zhǔn)確,深入,有說服力。0.55432答辯小組評(píng)審成績(jī)(加權(quán)分合計(jì)乘以8)分加權(quán)分合計(jì)答辯小組教師簽名: 年 月 日課 程 設(shè) 計(jì) 總 評(píng) 成 績(jī)分沈陽工程學(xué)院課程設(shè)計(jì)(報(bào)告)摘要計(jì)算機(jī)科學(xué)與技術(shù)是一門實(shí)用性很強(qiáng)、發(fā)展極其迅速的面向廣大社會(huì)的技術(shù)學(xué)科,它建立在數(shù)學(xué)、電子學(xué) (特別是微電子學(xué))、磁學(xué)、光學(xué)、精密機(jī)械等多門學(xué)科的基礎(chǔ)之上。但是,它并不是簡(jiǎn)單地應(yīng)用某些學(xué)科的知識(shí),而是經(jīng)過高度綜合形成一整套有關(guān)信息表示、變換、存儲(chǔ)、處理、控制和利用的理論、方法和技術(shù)。作為新世紀(jì)的大學(xué)生,應(yīng)當(dāng)站在時(shí)代發(fā)展的前列,掌握現(xiàn)代科學(xué)技術(shù)

9、知識(shí),調(diào)整自己的知識(shí)結(jié)構(gòu)和能力結(jié)構(gòu),以適應(yīng)社會(huì)發(fā)展的要求。新世紀(jì)需要具有豐富的現(xiàn)代科學(xué)知識(shí),能夠獨(dú)立解決面臨的任務(wù),充滿活力,有創(chuàng)新意識(shí)的新型人才。C語言是一種計(jì)算機(jī)程序設(shè)計(jì)語言。它既有高級(jí)語言的特點(diǎn),又具有匯編語言的特點(diǎn)。它可以作為系統(tǒng)設(shè)計(jì)語言,編寫工作系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計(jì)語言,編寫不依賴計(jì)算機(jī)硬件的應(yīng)用程序。因此,它的應(yīng)用范圍廣泛。C語言對(duì)操作系統(tǒng)和系統(tǒng)使用程序以及需要對(duì)硬件進(jìn)行操作的場(chǎng)合,用C語言明顯優(yōu)于其它解釋型高級(jí)語言,有一些大型應(yīng)用軟件也是用C語言編寫的。C語言具有繪圖能力強(qiáng),可移植性,并具備很強(qiáng)的數(shù)據(jù)處理能力,因此適于編寫系統(tǒng)軟件,三維,二維圖形和動(dòng)畫。它是數(shù)值計(jì)

10、算的高級(jí)語言?,F(xiàn)在大多數(shù)的高校都把C語言作為第一門計(jì)算機(jī)語言進(jìn)行教學(xué),這是可行的,學(xué)生是能夠?qū)W習(xí)好的。在學(xué)習(xí)中,先要學(xué)習(xí)程序設(shè)計(jì)課程的目的掌握設(shè)計(jì)程序的思路,學(xué)習(xí)會(huì)用計(jì)算機(jī)語言編寫程序,以實(shí)現(xiàn)所需要處理的任務(wù)。要正確處理算法與語法的關(guān)系,算法是程序的核心、是靈魂,語法是外殼、是工具。不應(yīng)把學(xué)習(xí)重點(diǎn)放在語法規(guī)則上,語法是重要的,不掌握語法規(guī)則就無法編寫出正確的程序。一定要把重點(diǎn)放在解題的思路上,通過思考,和大量的閱讀,來構(gòu)造一個(gè)完整的程序。請(qǐng)記?。褐匾氖菍W(xué)會(huì)編程,而不是背語法。其次,主要是學(xué)習(xí)程序設(shè)計(jì)的方法,進(jìn)行程序設(shè)計(jì)的基本訓(xùn)練,大多數(shù)的學(xué)生應(yīng)該把精力放在最基本,最常用的內(nèi)容上,學(xué)好基本功。

11、大學(xué)生是社會(huì)的一個(gè)特殊群體,是指接受過大學(xué)教育的人,作為社會(huì)新技術(shù)、新思想的前沿群體、國(guó)家培養(yǎng)的高級(jí)專門人才,大學(xué)生代表年輕有活力一族。我們當(dāng)今大學(xué)生更應(yīng)學(xué)好每一個(gè)學(xué)科,來迎接每依次挑戰(zhàn),面對(duì)明天,承擔(dān)明天。關(guān)鍵詞 電子詞典,算法,結(jié)構(gòu)體目 錄摘要. . I第一章 引言 .11.1 題目背景. . 11.2題目目的. . . 11.3解決問題. . . 1第二章 使用工具. .3第三章 系統(tǒng)分析與設(shè)置. 43.1 系統(tǒng)功能. .43.2 功能設(shè)計(jì). 43.2.1 主控函數(shù).43.2.2 修改單詞.83.3 總流程圖. .10第四章 系統(tǒng)功能實(shí)現(xiàn) . 234.1主控函數(shù). . . . 254.2

12、修改單詞.26總結(jié). . . 29致謝. . . . 30參考文獻(xiàn). . .31第一章 引言1.1設(shè)計(jì)背景隨著現(xiàn)代科學(xué)技術(shù)的迅猛發(fā)展,計(jì)算機(jī)技術(shù)已經(jīng)滲透到各各領(lǐng)域,成為各行各業(yè)必不可少的工具,特別是Internet技術(shù)的推廣和信息高速公路的建立,使IT產(chǎn)業(yè)在市場(chǎng)競(jìng)爭(zhēng)中越發(fā)顯示出其獨(dú)特的優(yōu)勢(shì),步入信息化時(shí)代,有巨大的數(shù)據(jù)信息等待加工處理和傳輸,這使得對(duì)書數(shù)據(jù)庫(kù)的進(jìn)一步開發(fā)和利用顯得尤為迫切。當(dāng)今社會(huì)中,隨著外語的全面普及,學(xué)習(xí)外語在每個(gè)國(guó)家都是非常流行的,學(xué)習(xí)外語的語種很多,但最多人學(xué)習(xí)的還是英語,顯然,越來越多的關(guān)于學(xué)習(xí)英語的電子設(shè)備也隨之誕生。當(dāng)然,電子詞典是必不可少的設(shè)備之一。在系統(tǒng)設(shè)計(jì)過

13、程中,我們盡量采用易懂易讀的人機(jī)界面,使用戶可以在短期內(nèi)完全掌握英語詞義。而我們又始終把系統(tǒng)的正確性放在首位,力求數(shù)據(jù)的完整和處理的正確性。在此基礎(chǔ)上優(yōu)化程序代碼,加速系統(tǒng)運(yùn)行和減少對(duì)系統(tǒng)資源的占用。1.2設(shè)計(jì)目的這次設(shè)計(jì)主要是應(yīng)用了C程序設(shè)計(jì)中的一些算法,還有一些函數(shù)的調(diào)用,結(jié)構(gòu)體的應(yīng)用等,根據(jù)他們的基本思想來編寫程序。程序主要包括的內(nèi)容可以對(duì)單詞進(jìn)行查找、添加、修改、幫助等操作。通過本設(shè)計(jì)可以加深理解利用程序設(shè)計(jì)思想開發(fā)一個(gè)系統(tǒng)的整個(gè)流程,從而提高分析問題、解決問題和實(shí)際動(dòng)手的能力。通過本設(shè)計(jì)可以加深理解利用程序設(shè)計(jì)思想開發(fā)一個(gè)系統(tǒng)的整個(gè)流程,提高分析問題、解決問題和實(shí)際動(dòng)手的能力為了人們

14、能夠更快的紀(jì)錄其他人的聯(lián)系方式,使人們不再因?yàn)橛洸蛔∑渌说穆?lián)系方式而苦惱。1.3 解決問題電子詞典系統(tǒng)是市場(chǎng)上常用的系統(tǒng)之一,它主要包含以下幾個(gè)模塊:查找,增加,刪除,修改,瀏覽,維護(hù)幾大模塊。從而,實(shí)現(xiàn)對(duì)電子詞典的全面使用。從中又增加了萬年歷的功能。這次課設(shè),使我們對(duì)C語言的掌握更加熟練,也解決了一些問題:1、解決相關(guān)函數(shù)的使用。2、解決存儲(chǔ)文件的使用。3、解決函數(shù)間的鏈接關(guān)系,使函數(shù)的調(diào)用更加方便靈活以及相關(guān)函數(shù)的使用。4、解決對(duì)單個(gè)函數(shù)如何操作和各種按鍵的功能設(shè)置以及相關(guān)函數(shù)的使用。5、解決對(duì)程序顯示窗口的設(shè)置及對(duì)各種相關(guān)函數(shù)的使用。第二章 使用工具C語言是在國(guó)內(nèi)廣泛使用的一種計(jì)算機(jī)語

15、言。C語言功能豐富、表達(dá)能力強(qiáng)、使用靈活方便、應(yīng)用面廣、目標(biāo)程序效率高、可移植性好,既具有高級(jí)語言的優(yōu)點(diǎn),又具有低級(jí)語言的許多特點(diǎn),因此特別適合于編寫編寫軟件。C語言誕生后,許多原來用匯編語言編寫的軟件,現(xiàn)在可以用C語言編寫了,而學(xué)習(xí)和使用C語言要比學(xué)習(xí)和使用匯編語言容易得多。近年來,C語言不僅為計(jì)算機(jī)專業(yè)工作者所使用,而且為廣大計(jì)算機(jī)應(yīng)用人員所喜愛和使用。許多高校不僅在計(jì)算機(jī)專業(yè)開設(shè)了C語言課程,而且在非計(jì)算機(jī)專業(yè)也開設(shè)了C語言課程。全國(guó)計(jì)算機(jī)等級(jí)考試、全國(guó)計(jì)算機(jī)應(yīng)用技術(shù)認(rèn)證書考試和全國(guó)各地區(qū)組織的大學(xué)生計(jì)算機(jī)統(tǒng)一考試都將C語言列入了考試范圍。許多人用它編寫應(yīng)用軟件。學(xué)習(xí)C語言已經(jīng)成為廣大計(jì)

16、算機(jī)應(yīng)用人員和廣大青年學(xué)生的迫切要求。由于C語言牽涉的要領(lǐng)比較復(fù)雜,規(guī)則繁多,使用靈活,容易出錯(cuò),不少初學(xué)者感到困難,迫切希望學(xué)會(huì)、學(xué)懂、學(xué)精。而在學(xué)校中,學(xué)習(xí)程序設(shè)計(jì)課程的目的是為了掌握設(shè)計(jì)程序的思路,學(xué)會(huì)用計(jì)算機(jī)語言編寫程序,以實(shí)現(xiàn)所需處理的任務(wù)。要正確處理算法與語法的關(guān)系,算法是程序的核心、是靈魂,語法是外殼、是工具。不應(yīng)把學(xué)習(xí)重點(diǎn)放在語法規(guī)則上,語法是重要的,不掌握語法規(guī)則就無法編寫出正確的程序,但是只學(xué)會(huì)語法,甚至能把語法背得滾瓜爛熟,也不可能編寫出好的程序。一定要把重點(diǎn)放在解題的思路上,通過大量的題學(xué)習(xí)怎樣設(shè)計(jì)一個(gè)算法,構(gòu)造一個(gè)程序。在學(xué)習(xí)開始時(shí)更我要在語法細(xì)節(jié)上死摳。重要的是學(xué)會(huì)

17、編寫程序,而不是背語法。學(xué)會(huì)看懂程序是關(guān)鍵。程序設(shè)計(jì)是一門實(shí)踐性很強(qiáng)的課程,既要掌握概念,又要?jiǎng)邮志幊?,還要上機(jī)調(diào)試,要衡量這門課學(xué)習(xí)的好壞,不是看我們“知我知道”,而是看我們“會(huì)不會(huì)干”。要從學(xué)習(xí)的過程中積累經(jīng)驗(yàn),學(xué)會(huì)舉一反三。目前C語言集成開發(fā)環(huán)境有:Turbo C 2.0(Dos 平臺(tái)上的C編譯器)、gcc(GUN C Compile ,UNIX以及Linux平臺(tái)上的C/C+編譯器)、Developer Studio(Windows 平臺(tái)上的C/C+編譯器)。下面主要介紹TurboC2.0。Borland公司在1981年推出C語言程序設(shè)計(jì)集成開發(fā)環(huán)境“TurboC 2.0”年推出C,由于

18、其實(shí)用穩(wěn)定的性能,一直長(zhǎng)期工作應(yīng)用在社會(huì)不同領(lǐng)域,得到社會(huì)各界的好評(píng)。Borland公司在1981年推出C語言程序設(shè)計(jì)集成開發(fā)環(huán)境“TurboC2.0”有如下特點(diǎn):集編輯、編譯、鏈接、調(diào)試、運(yùn)行為一體;提供了一個(gè)菜單式界面,其初始界面。不支持鼠標(biāo),光標(biāo)的移動(dòng)鍵以及一些編輯命令進(jìn)行。如圖2-1所示。圖2-1主界面這時(shí),用上下移動(dòng)光標(biāo)將光標(biāo)移向“New”處,按回車鍵,系統(tǒng)就進(jìn)入編輯狀態(tài),光標(biāo)停在編輯窗口的左上角。這時(shí)就可以開始編輯一個(gè)新的源程序文件了。如圖2-2所示。圖2-2源程序編輯窗口這時(shí),可以按F10(或Alt+F)鍵,使光標(biāo)回到菜單欄,再選擇File菜單中的Save,就可以保存這個(gè)源程序文

19、件了。這時(shí),系統(tǒng)將彈出。如圖2-3所示。要求編輯者為個(gè)這源程序命名(給上述程序命名為ex101),并確定存放位置。如果編輯者不生重命名,系統(tǒng)就以一個(gè)隱含的文件名“no name.c”來保存它,并且隱含地保存在TURBOC2文件夾中。 圖2-3命名文件對(duì)話框1. 編輯(修改)一個(gè)原來的源程序文件 要編輯(修改)一個(gè)原來已經(jīng)有的源程序文件時(shí),要在File菜單中選擇Loac命令。這時(shí),系統(tǒng)就會(huì)彈出。如圖2-4所示。要求用戶在其中輸入要編輯的源程序文件名。輸入后,按Enter 鍵,系統(tǒng)就會(huì)將要重新編輯的源程序文件調(diào)入到編輯區(qū)內(nèi)。圖2-4裝入要編輯的源程序文件為了方便用戶,系統(tǒng)也允許用戶不為方便命名。只

20、要在要裝入文件的對(duì)話框內(nèi)按一下回車鍵,系統(tǒng)就會(huì)顯示出保存在TURBOC2中的所有C語言源程序文件的列表。如圖2-5所示。同時(shí)列出上一級(jí)目錄“.”和同級(jí)的其它目錄,供用戶從中選擇。圖2-5供用戶選擇的源程序文件列表2. 程序的編譯、鏈接與執(zhí)行在Turboc 2.0環(huán)境下,編輯、鏈接和執(zhí)行一個(gè)C程序,可以有如下幾種方式。使用Compile菜單(快捷鍵Alt+C)中的命令。如圖2-6所示。圖2-6 Compile菜單 主要有兩種方式: 選擇Compile to OBJ命令,得到目標(biāo)文件;再在選擇菜單中選擇Link EXE filc命令,得到可執(zhí)行文件。 選擇Make EXE filc 命令,同時(shí)完成

21、編譯和鏈接兩個(gè)過程,直接得到可執(zhí)行文件。只要在操作系統(tǒng)環(huán)境下單擊空上文件即可執(zhí)行。使用Run菜單中的Run命令(或用Ctrl+F9快捷鍵),可以直接完成編譯,鏈接和執(zhí)行3個(gè)過程。3. 編輯窗口和輸出窗口之間的切換取用Alt+F5快捷鍵在編輯窗口和輸出窗口之間切換。為執(zhí)行ex101.exe后的輸出窗口。如圖2-7所示。圖2-7程序輸出窗口第三章 系統(tǒng)分析與設(shè)置3.1系統(tǒng)功能本程序?yàn)橥ㄓ嶄?,能夠完成一般的人物資料的錄入,能夠顯示錄入的資料。利用結(jié)構(gòu)體和鏈表對(duì)數(shù)據(jù)進(jìn)行輸入,刪除和查詢等功能。輸入的信息通過鏈表存入所對(duì)應(yīng)的文件中,通過使用定義的各種指針添加,讀取和刪除信息。程序功能通過下拉菜單實(shí)現(xiàn),其

22、功能描述如圖3-1所示。電子詞典查找單詞增加單詞萬年歷修改單詞瀏覽單詞保存單詞返回鍵幫助菜單退出圖3-1 程序模塊流程圖3.2功能設(shè)計(jì)在程序設(shè)計(jì)中,我編制了主函數(shù)、修改單詞的兩個(gè)函數(shù),主函數(shù)是利用一維數(shù)組的形式來實(shí)現(xiàn)的,采用菜單工作方式,主要程序用switch語句來完成。修改單詞則是用了用兩個(gè)一維數(shù)組temp與temp1,來實(shí)現(xiàn)修改功能。將輸入的單詞用字符串的形式存入temp中,在經(jīng)過循環(huán)語句來實(shí)現(xiàn)查找單詞。3.2.1主控函數(shù)1.全局變量 對(duì)單詞和釋義字符串長(zhǎng)度的限定分別為不超過20個(gè)與40個(gè)字符, 詞條數(shù)限定為不超過800條。 單詞數(shù)組ci,字符串?dāng)?shù)組。釋義數(shù)組yi, 字符串?dāng)?shù)組。 詞典中詞

23、條總數(shù)dict,整型變量。 以上變量定義為全局變量。 命令序號(hào)key, 整型。 在main( )函數(shù)中用于散轉(zhuǎn)執(zhí)行對(duì)應(yīng)操作。 一維字符數(shù)組(字符串)temp在find( )函數(shù)中為待查單詞, 在add( )函數(shù)中為temp1待插入單詞,在modify( )函數(shù)中為待修改單詞,在view( )函數(shù)中為待顯示單詞。 2. 算法分析 執(zhí)行該程序要求在磁盤上有一個(gè)詞典文件, 可使用任何中文編輯軟件生成。其內(nèi)容是每行對(duì)應(yīng)一個(gè)詞條, 每詞條包括用回車符號(hào)“n”分開兩個(gè)字符串, 前一個(gè)是單詞字符串(英文),后一個(gè)是釋義字符串(中文),使用分號(hào)作為多個(gè)釋義的分隔符(無空格)。事實(shí)上,即使該文件內(nèi)無一詞條,也可

24、用本程序在線生成所需詞典,但必須有一個(gè)已存在的合乎上述格式的,哪怕是空白的文件。 采用菜單工作方式。在一個(gè)操作命令執(zhí)行之后, 程序詢問是否執(zhí)行下一個(gè)命令。如:輸入7 “return”,則回到菜單等待另一次選擇。并根據(jù)用戶的選擇存盤或不存盤退出。 3.函數(shù)的概括從文件file中讀入詞典各詞條的單詞和釋義分別到字串?dāng)?shù)組ci和yi中。main(void): 顯示控制菜單。find( ): 查詢一個(gè)單詞的釋義 。 add( ): 在詞典中適當(dāng)位置插入一個(gè)給定詞條的單詞和釋義。date( ): 除了使用詞典的功能以外,同時(shí)可以使用萬年歷的功能,主要查詢年、月、日。modify( ): 修改詞典中給定單詞

25、的釋義。 view( ): 顯示詞典中在給定單詞前后的部分詞條的單詞和釋義。 store( ): 在詢問是否要存盤。 return( ): 詢問用戶是否返回查詢、插入、刪除、修改、顯示均調(diào)用該函數(shù)。bye( ): 主要為界面美觀與關(guān)閉程序而設(shè)計(jì),使系統(tǒng)更加人性化。系統(tǒng)流程圖如圖3-2所示。no判斷key值查找key1表達(dá)式=常量表達(dá)式1表達(dá)式=常量表達(dá)式2表達(dá)式=常量表達(dá)式3開始清屏輸出界面鍵盤輸入一個(gè)值賦給KeyyesFind ()循環(huán)結(jié)束BreakAdd ()循環(huán)結(jié)束Breaknoyesyesno循環(huán)結(jié)束BreakDate ()no2yesnoyesnoyesno2表達(dá)式=常量表達(dá)式8He

26、lp ()循環(huán)結(jié)束Break表達(dá)式=常量表達(dá)式9Bye ()循環(huán)結(jié)束BreakModify ()循環(huán)結(jié)束Break表達(dá)式=常量表達(dá)式4表達(dá)式=常量表達(dá)式5View ()循環(huán)結(jié)束Break表達(dá)式=常量表達(dá)式6Store ()循環(huán)結(jié)束Break表達(dá)式=常量表達(dá)式7Return 0此函數(shù)結(jié)束1yesnonoyesyesno圖3-2 控制菜單3.2.2 修改單詞修改單詞必須建立在已有單詞的前提下,只有系統(tǒng)的“l(fā)nlh.dat”文件里存在單詞以后,才能對(duì)其修改。它可以在瀏覽單詞后找到想要修改的單詞輸入:5 view(),用兩個(gè)一維數(shù)組temp與temp1,來實(shí)現(xiàn)修改功能。將輸入的單詞用字符串的形式存入t

27、emp中,在經(jīng)過循環(huán)語句來實(shí)現(xiàn)查找單詞。如果temp與單詞dict.ci比較等于0時(shí),則說明已經(jīng)單詞找到,將所要修改的釋義存在temp1中,再將其復(fù)制到dicti.yi。當(dāng)所存入的單詞釋義有誤時(shí),就可以利用修改功能就其單詞釋義進(jìn)行修改。首先運(yùn)行函數(shù),再輸入4回車,確認(rèn)后系統(tǒng)會(huì)提示修改單詞,之后輸入要修改的單詞,然后系統(tǒng)會(huì)提示修改其單詞釋義。如圖3-3所示。開始清屏輸出界面輸出please input the word:輸入tempI=0;11Strcmp(temp,dicti.ci)=0&I800No輸出not foundYes輸出found輸出單詞與意思輸出please input the

28、new mean輸入temp1輸出success,press any key to returnI=I+1把temp1拷貝到dicti.ci此函數(shù)結(jié)束圖3-3修改單詞3.3系統(tǒng)總流程圖no開始清屏輸出界面鍵盤輸入一個(gè)值賦給Key判斷key值查找key表達(dá)式=常量表達(dá)式1表達(dá)式=常量表達(dá)式2表達(dá)式=常量表達(dá)式3yesFind ()循環(huán)結(jié)束BreakAdd ()循環(huán)結(jié)束Break2nonoyesyesnoDate ()循環(huán)結(jié)束Break1yesnoyesnoyesno2表達(dá)式=常量表達(dá)式8Help ()循環(huán)結(jié)束Break表達(dá)式=常量表達(dá)式9Bye ()循環(huán)結(jié)束BreakModify ()循環(huán)結(jié)束B

29、reak表達(dá)式=常量表達(dá)式4表達(dá)式=常量表達(dá)式5View ()循環(huán)結(jié)束Break表達(dá)式=常量表達(dá)式6Store ()循環(huán)結(jié)束Break表達(dá)式=常量表達(dá)式7Return 0此函數(shù)結(jié)束1yesnoyesyesno圖3-4 控制菜單比較temp,dicti.ci等于0且i800No輸出not foundI=I+1;輸出單詞與意思輸出press any key to return返回Yes返回主界面此函數(shù)結(jié)束輸入tempI=0;清屏輸入界面輸出please input a word:Find ()No圖3-5 查找單詞Add ()清屏I=0;noyes!(*dicti.ci)&I800輸出界面輸出pl

30、ease input the word:輸出 temp輸出sorry,the data is full:j=0;NoNo比較temp與結(jié)構(gòu)題中單詞是否相同并且個(gè)數(shù)小于800Yes輸出the word is already store輸出press any key to return 輸出please input the mean:J=j+1;345把temp拷貝到dictI.ci把temp1拷貝到dicti.yi輸入temp1I=I+1;435返回主界面此函數(shù)結(jié)束圖3-6 增加單詞i=1定義整形:year,month;i,days=0,d,day=0Date()子函數(shù)開始系統(tǒng)清屏換行輸出:-E

31、nter the year:輸入年份:year輸入月份:month imonthYesNoi+8調(diào)用函數(shù):m_day(year,I););9days=月數(shù)累加萬年歷計(jì)算公式:d=year-1+(year-1)/4-(year-1)/100+(year-1)/400+days+1;輸出格式:6i=1id%7i+i=1i=7-d%7i+累加天數(shù):day+; 輸出日期: day輸出換行: n輸出空格:“ ” 輸出格式: = = =輸出年-月:year,month輸出換行:n輸出格式:Sun Mon Tue Wed Thu Fri Sat輸出換行:n67YesNoYesNo NoYes8i=7-d%7

32、i+;累加天數(shù):day+; 輸出換行:printf(n);i+i=1輸出空格:printf( ); );i=1id%7輸出格式:printf(n =n);printf( =n);printf( =n);輸出年-月:printf(nnn-%d-%d -n,year,month);printf(nn);printf( Sun Mon Tue Wed Thu Fri Satn);7輸出日期printf(%8d,day); NoYes 9子函數(shù)m_day()定義行參:int year,int month判斷閏年:(year%4=0&year%100!=0) | (year%400=0)如果month月

33、為:1、3、5、7、8、10、12則返回31天。Month月為:4、6、9、11則返回30天。二月返回29天。如果month月為:1、3、5、7、8、10、12則返回31天。Month月為:4、6、9、11則返回30天。二月返回28天。此函數(shù)結(jié)束8NoYes圖3-7 萬年歷輸出store success返回主界面此函數(shù)結(jié)束I=I+1;關(guān)閉fp文件輸出界面以二進(jìn)制讀寫方式打開lnlh文件I=0;I800從&dicti所指向的1*60個(gè)字節(jié)輸入到fp所指向的文件中Store ()圖3-8 保存單詞View ()輸出第n個(gè)單詞與意思K=i清屏空出兩行I=0YesNo*dicti.ci!=0&I800

34、J=j+1NoJ=0Yes101211J=0輸出press any key to page down!I=I+1輸出thats all!輸出press any key to return!101112此函數(shù)結(jié)束返回主界面圖3-9 瀏覽單詞 Init ()I=0I800NoYes把單詞與意思全部清零I=I+1以讀寫方式打開lnlh.datI=0NoI800從fp所指的文件中讀取長(zhǎng)度為60的一個(gè)數(shù)據(jù)項(xiàng)存到&dicti所指向的內(nèi)存區(qū)I=I+1關(guān)閉文件此函數(shù)結(jié)束Yes圖3-10單詞與意思全部清零第四章 系統(tǒng)功能實(shí)現(xiàn)4.1主控函數(shù)1.全局變量 對(duì)單詞和釋義字符串長(zhǎng)度的限定分別為不超過20個(gè)與40個(gè)字符,

35、 詞條數(shù)限定為不超過800條。 單詞數(shù)組ci,字符串?dāng)?shù)組。釋義數(shù)組yi, 字符串?dāng)?shù)組。 詞典中詞條總數(shù)dict,整型變量。 以上變量定義為全局變量。 命令序號(hào)key, 整型。 在main( )函數(shù)中用于散轉(zhuǎn)執(zhí)行對(duì)應(yīng)操作。 一維字符數(shù)組(字符串)temp在find( )函數(shù)中為待查單詞, 在add( )函數(shù)中為temp1待插入單詞,在modify( )函數(shù)中為待修改單詞,在view( )函數(shù)中為待顯示單詞。 2.算法分析 執(zhí)行該程序要求在磁盤上有一個(gè)詞典文件, 可使用任何中文編輯軟件生成。其內(nèi)容是每行對(duì)應(yīng)一個(gè)詞條, 每詞條包括用回車符號(hào)“n”分開兩個(gè)字符串, 前一個(gè)是單詞字符串(英文),后一個(gè)是

36、釋義字符串(中文),使用分號(hào)作為多個(gè)釋義的分隔符(無空格)。事實(shí)上,即使該文件內(nèi)無一詞條,也可用本程序在線生成所需詞典,但必須有一個(gè)已存在的合乎上述格式的,哪怕是空白的文件。 采用菜單工作方式。在一個(gè)操作命令執(zhí)行之后, 程序詢問是否執(zhí)行下一個(gè)命令。如:輸入7 “return”,則回到菜單等待另一次選擇。并根據(jù)用戶的選擇存盤或不存盤退出。 3.函數(shù)的概括從文件file中讀入詞典各詞條的單詞和釋義分別到字串?dāng)?shù)組ci和yi中。main(void): 顯示控制菜單。find( ): 查詢一個(gè)單詞的釋義 。 add( ): 在詞典中適當(dāng)位置插入一個(gè)給定詞條的單詞和釋義。date( ): 除了使用詞典的功

37、能以外,同時(shí)可以使用萬年歷的功能,主要查詢年、月、日。modify( ): 修改詞典中給定單詞的釋義。 view( ): 顯示詞典中在給定單詞前后的部分詞條的單詞和釋義。 store( ): 在詢問是否要存盤。 return( ): 詢問用戶是否返回查詢、插入、刪除、修改、顯示均調(diào)用該函數(shù)。bye( ): 主要為界面美觀與關(guān)閉程序而設(shè)計(jì),使系統(tǒng)更加人性化,如圖4-1所示。圖4-1主界面程序原代碼#include Stdio.h#include Conio.htypedef struct /*定義兩個(gè)一維數(shù)組的結(jié)構(gòu)體*/char ci20;char yi40;Dict; /*定義的結(jié)構(gòu)體名字為D

38、ict*/Dict dict800; /*一共可輸入 800 個(gè)單詞*/void init() /*程序初始化*/ int i; FILE *fp; /*定義指向文件的指針*/ for (i=0;i800;i+)/*循環(huán)語句從0到799*/ memset(dicti.ci,0,20); /*把全部單詞清 0*/ memset(dicti.yi,0,40); fp=fopen(lnlh.dat,rb); /*從 lnlh.dat 文件里讀出數(shù)據(jù)*/ for (i=0;i800;i+) fread(char *)&dicti,60,1,fp); /*從fp所指的文件中讀取長(zhǎng)度為60的一個(gè)數(shù)據(jù)項(xiàng)存到

39、&dicti所指向的內(nèi)存區(qū)*/ fclose(fp);/*關(guān)閉文件*/控制菜單程序如下:int main(void) char key; init(); while(1) /*循環(huán)顯示*/ clrscr(); /*清屏*/ printf(n election English to Chinese dictionary designnn); /*顯示操作功能*/ printf( -|-! n); printf( -| n); printf( |- n) ; printf( !-|- n); printf( | | n); printf( | | 1.FIND n); printf( | | 2.ADD n) ; printf( | | 3.DATE n) ; printf( | 4.MODI | n); printf( |

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論