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

下載本文檔

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

文檔簡介

1、陽工程學(xué)院課程設(shè)計(jì)設(shè)計(jì)題目:電子詞典系 別信息工程系班級(jí)計(jì)本083學(xué)生 學(xué)號(hào)24指導(dǎo)教師 柳、呂海華職稱 講師、講師起止日期:2009年6月15日起至2009年6月26日止陽工程學(xué)院課程設(shè)計(jì)任務(wù)書課程設(shè)計(jì)題目:電子詞典(第1 組)系別信息工程系班級(jí)計(jì)本083學(xué)生余學(xué)號(hào) 2008412304指導(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)、課程設(shè)計(jì)的原始資料及依據(jù)在計(jì)算機(jī)中建立有限規(guī)模的電子英漢詞典, 利用程序?qū)崿F(xiàn)電子英漢詞典的查 找、增加、刪除、修改等功能。查

2、閱有關(guān)資料,進(jìn)一步理解程序設(shè)計(jì)模塊化的思 想,并利用此思想編寫一個(gè)簡單的電子詞典。 通過本設(shè)計(jì)可以加深理解利用程序 設(shè)計(jì)思想開發(fā)一個(gè)系統(tǒng)的整個(gè)流程, 提高分析問題、解決問題和實(shí)際動(dòng)手的能力。二、課程設(shè)計(jì)主要容及要求1. 認(rèn)真閱讀資料,掌握程序設(shè)計(jì)模塊化的思想。2. 要求在設(shè)計(jì)的過程中,建立清晰的層次結(jié)構(gòu)。3. 畫出主要的功能結(jié)構(gòu)圖和主要模塊的流程圖。4. 實(shí)現(xiàn)功能:查找單詞。增加單詞。萬年歷修改單詞。顯示單詞。保存單詞。返回幫助退出5. 要求操作簡單,用戶界面友好。6. 運(yùn)行程序,檢查結(jié)果是否和理論值一致。7. 環(huán)境使用 Windows,Turbo C 環(huán)境。三、對(duì)課程設(shè)計(jì)說明書撰寫容、格式、

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

4、0mm正文采用宋體小 四號(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ù)書、成績?cè)u(píng)定表、目錄、正文、 參考文獻(xiàn)四、設(shè)計(jì)完成后應(yīng)提交成果的種類、數(shù)量、質(zhì)量等方面的要求1. 完成“任務(wù)書”中指定的功能,運(yùn)行結(jié)果正確。2. 課程設(shè)計(jì)說明書。五、時(shí)間進(jìn)度安排順序階段日期計(jì)劃完成容備注12008.03.24讀資料及系統(tǒng)分析設(shè)計(jì)22008.03.2526程序編制32008.03.2704.04程序編制、調(diào)試及運(yùn)行42008.04.05成績?cè)u(píng)定52008.04.06書寫課程設(shè)計(jì)說明書

5、六、主要參考資料(文獻(xiàn))1 譚浩強(qiáng) 編著 C程序設(shè)計(jì)(第二版)。:清華大學(xué),20052 吳文虎 編著 程序設(shè)計(jì)基礎(chǔ)(第3版)。:清華大學(xué),20053 譚浩強(qiáng) 編著 C程序設(shè)計(jì)(第三版)。:清華大學(xué),20064 C編寫組常用C語言用法速查手冊(cè)。:龍門書局,19955 Herbert Schildt 著王曦若、沛譯 ANSI C標(biāo)準(zhǔn)詳解。:電子工業(yè),1994 莉 董淵 瑞豐 編著 C+h語言程序設(shè)計(jì)(第3版)。:清華大學(xué),20067 An drew Koe nig編著C語言陷阱與缺陷。An drew Koe nig人民郵電20038(美)林登(Peter Van Der Lin den )編著C語

6、言專家編程 人民郵電2002陽工程學(xué)院程序設(shè)計(jì)基礎(chǔ)課程設(shè)計(jì)成績?cè)u(píng)定表系(部): 信息工程系班級(jí): 計(jì)本083學(xué)生: 余指導(dǎo)教師評(píng)審意見評(píng)價(jià)容具體要求權(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)審成績 (加權(quán)分合計(jì)乘以8)分加權(quán)分合計(jì)指導(dǎo)教

7、師簽名:年 月日評(píng)閱教師評(píng)審意見評(píng)價(jià)容具體要求權(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)審成績 (加權(quán)分合計(jì)乘以4)分加權(quán)分合計(jì)評(píng)閱教師簽名:年 月日答辯小組評(píng)審意見評(píng)價(jià)容具體要求權(quán)重評(píng)分加權(quán)分學(xué)生匯報(bào)匯報(bào)準(zhǔn)備充分,思路清晰;語言表達(dá)準(zhǔn)確,概 念清楚,論點(diǎn)正確,有層次,有重點(diǎn),基本上 反映了所完成任務(wù)的全部容;時(shí)間符合要求。0.55432答辯思路清晰;回答問題有理論依據(jù),

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

9、需要具有豐富 的現(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)行操作的場合,用C語言明顯優(yōu)于其它解釋型高級(jí)語言,有一些大型應(yīng)用軟件也是用C語言編寫的。C語言具有繪圖能力強(qiáng), 可移植性,并具備很強(qiáng)的數(shù)據(jù)處理能力, 因此適于編寫系統(tǒng)軟件, 三維,二維圖形和動(dòng)畫。它是數(shù)值計(jì)算的高級(jí)語言?,F(xiàn)在大多數(shù)的高校都把C語言

10、作為第一門計(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)記?。?重要的是學(xué)會(huì)編程,而不是背語法。其次,主要是學(xué)習(xí)程序設(shè)計(jì)的方法, 進(jìn)行程序設(shè)計(jì)的基本訓(xùn)練, 大多數(shù)的學(xué) 生應(yīng)該把精力放在最基本,最常用的容上,學(xué)好基本功。大學(xué)生是社會(huì)

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

12、.29第一章 引言1.1 設(shè)計(jì)背景隨著現(xiàn)代科學(xué)技術(shù)的迅猛發(fā)展, 計(jì)算機(jī)技術(shù)已經(jīng)滲透到各各領(lǐng)域, 成為各行 各業(yè)必不可少的工具,特別是 Internet 技術(shù)的推廣和信息高速公路的建立,這 使得對(duì)書數(shù)據(jù)庫的進(jìn)一步開發(fā)和利用顯得尤為迫切。當(dāng)今社會(huì)中,隨著外語的全面普及,學(xué)習(xí)外語在每個(gè)國家都是非常流行的, 學(xué)習(xí)外語的語種很多, 但最多人學(xué)習(xí)的還是英語, 顯然,越來越多的關(guān)于學(xué)習(xí)英 語的電子設(shè)備也隨之誕生。當(dāng)然,電子詞典是必不可少的設(shè)備之一。1.2 設(shè)計(jì)目的這次設(shè)計(jì)主要是應(yīng)用了 C 程序設(shè)計(jì)中的一些算法, 還有一些函數(shù)的調(diào)用, 結(jié) 構(gòu)體的應(yīng)用等, 根據(jù)他們的基本思想來編寫程序。 程序主要包括的容可以對(duì)

13、單詞 進(jìn)行查找、添加、修改、幫助等操作。 之所以設(shè)計(jì)一個(gè)有關(guān)電子詞典管理的程序, 是為了方便人們對(duì)信息的使用,經(jīng)過這樣一個(gè)過程來鞏固和完善自己所學(xué)的知 識(shí),同時(shí)來培養(yǎng)自己的實(shí)踐動(dòng)手能力。 通過本設(shè)計(jì)可以加深理解利用程序設(shè)計(jì)思 想開發(fā)一個(gè)系統(tǒng)的整個(gè)流程,從而提高分析問題、解決問題和實(shí)際動(dòng)手的能力。 通過本設(shè)計(jì)可以加深理解利用程序設(shè)計(jì)思想開發(fā)一個(gè)系統(tǒng)的整個(gè)流程, 提高 分析問題、解決問題和實(shí)際動(dòng)手的能力為了人們能夠更快的紀(jì)錄其他人的聯(lián)系方 式,使人們不再因?yàn)橛洸蛔∑渌说穆?lián)系方式而苦惱。1.3 解決問題電子詞典系統(tǒng)是市場上常用的系統(tǒng)之一,它主要包含以下幾個(gè)模塊:查找, 增加,刪除,修改,瀏覽,維護(hù)

14、幾大模塊。從而,實(shí)現(xiàn)對(duì)電子詞典的全面使用。 從中又增加了萬年歷的功能。這次實(shí)訓(xùn),使我們對(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ù)的使用。6、提高分析問題、解決問題和實(shí)際動(dòng)手的能力。第二章 使用工具C語言是在國廣泛使用的一種計(jì)算機(jī)語言。 C語言功能豐富、表達(dá)能力強(qiáng)、 使用靈活方便、應(yīng)用面廣、目標(biāo)程序效率高、可移植性好,既具有高級(jí)語言的優(yōu) 點(diǎn),又具有低級(jí)語言的許多特點(diǎn),因此

15、特別適合于編寫編寫軟件。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語言課程。全國計(jì)算機(jī)等級(jí)考試、全國計(jì)算機(jī)應(yīng)用技術(shù)認(rèn)證書 考試和全國各地區(qū)組織的大學(xué)生計(jì)算機(jī)統(tǒng)一考試都將 C語言列入了考試圍。許多 人用它編寫應(yīng)用軟件。學(xué)習(xí)C語言已經(jīng)成為廣大計(jì)算機(jī)應(yīng)用人員和廣大青年學(xué)生 的迫切要求。由于C語言牽涉的要領(lǐng)比較復(fù)雜,規(guī)則繁多,使用靈活,容易出錯(cuò),不少初 學(xué)

16、者感到困難,迫切希望學(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ì)編寫程序,而不是背語法。學(xué)會(huì)看懂程序是關(guān)鍵。程序設(shè)計(jì)是一門實(shí)踐懷很強(qiáng)的課程,既要掌

17、握概念,又要?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,由于其實(shí)用穩(wěn)定的性能,一直長期工作 應(yīng)用在社會(huì)不同領(lǐng)域,得到社會(huì)

18、各界的好評(píng)。Borland公司在1981年推出C語言程序設(shè)計(jì)集成開發(fā)環(huán)境“ TurboC2.0”有 如下特點(diǎn):集編輯、編譯、調(diào)試、運(yùn)行為一體;提供了一個(gè)菜單式界面,其初始界面。 如圖2-1所示。不支持鼠標(biāo),光標(biāo)的移動(dòng)鍵以及一些編輯命令進(jìn)行。圖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è)源程序文件了。這時(shí),系統(tǒng)將彈出。如圖2-3所示。要求編輯者

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

20、不為方便命名。只要在要裝入文件的對(duì)話框 按一下回車鍵,系統(tǒng)就會(huì)顯示出保存在TURBOC中的所有C語言源程序文件的列 表。如圖2-5所示。同時(shí)列出上一級(jí)目錄“”和同級(jí)的其它目錄,供用戶從TTsunk匚" CSbiiG 7 F ThTiciATiariEJCI圖2-5供用戶選擇的源程序文件列表中選擇。(4)程序的編譯、與執(zhí)行在Turboc 2.0環(huán)境下,編輯、和執(zhí)行一個(gè)C程序,可以有如下幾種方式使用Compile菜單(快捷鍵Alt+C )中的命令。如圖2-6所示。XliTIirjF'r-.iic rr丁尹牌hi葉増rm* CiMIHi .Ci-A6 Tra ItTc i1kKK

21、» 1.Clailrl 3L1uruiLft lldiJ事匚叩” C fjlt>Crt infn圖 2-6 Compile 菜單主要有兩種方式:選擇Compile to OBJ命令,得到目標(biāo)文件;再在選擇菜單中選擇Link EXEfilc命令,得到可執(zhí)行文件。選擇Make EXE filc 命令,同時(shí)完成編譯和兩個(gè)過程,直接得到可執(zhí)行文件。 只要在操作系統(tǒng)環(huán)境下單擊空上文件即可執(zhí)行。使用Run菜單中的Run命令(或用Ctrl+F9快捷鍵),可以直接完成編譯,和執(zhí) 行3個(gè)過程。(5) 編輯窗口和輸出窗口之間的切換取用Alt+F5快捷鍵在編輯窗口和輸出窗口之間切換。為執(zhí)行 ex10

22、1.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),其功能描述。如圖 3-1所示。圖3-1程序模塊流程圖3.2功能設(shè)計(jì)課程設(shè)計(jì)的是電子詞典程序,電子詞典中包括:查找單詞、增加單詞、萬年 歷、修改單詞、瀏覽單詞、保存單詞、幫助菜單等項(xiàng)功能。運(yùn)行程序出現(xiàn)主界面后,輸入“ 1”可以進(jìn)入查找功能,可以查找相應(yīng)以存 儲(chǔ)的單詞,其中先定義一

23、個(gè)字符數(shù)組,輸入要找的單詞后在與已存單詞進(jìn)行比較, 如果找到則顯示單詞。輸入“ 2”可以進(jìn)入增加單詞功能,定義兩個(gè)字符數(shù)組分 別存儲(chǔ),單詞和詞意,然后再把輸入的單詞和詞意,傳送到結(jié)構(gòu)體中定義的單詞 和詞意數(shù)組中去,以便能夠調(diào)用。輸入“3”可以進(jìn)入萬年歷功能,在程序設(shè)計(jì)中,我編制了萬年歷函數(shù),萬 年歷函數(shù)是利用date()函數(shù)和m_days函數(shù)相互調(diào)轉(zhuǎn)的形式來實(shí)現(xiàn)的,采用菜單 工作方式,主要程序用switch語句來完成,利用switch語句來先判斷用戶所輸 入的年份是否為閏年再返回相應(yīng)的月份天數(shù)。輸入“4”可以進(jìn)入修改功能,修改單詞必須建立在已有單詞的前提下,只 有系統(tǒng)的“Inlh.dat ”文

24、件里存在單詞以后,才能對(duì)其修改。它可以在瀏覽單詞 后找到想要修改的單詞。將所要修改的釋義存在tempi中,再將其復(fù)制到dicti.yi o當(dāng)所存入的單詞釋義有誤時(shí),就可以利用修改功能就其單詞釋義進(jìn) 行修改。輸入“ 5”可以進(jìn)入游覽功能,用倆個(gè)一維數(shù)組 temp與temp1,來實(shí)現(xiàn)修改 功能。將輸入的單詞用字符串的形式存入temp中,在經(jīng)過循環(huán)語句來實(shí)現(xiàn)查找單詞。如果temp與單詞dict.ci 比較等于0時(shí),則說明已經(jīng)單詞找到,便可 以顯示單詞了。輸入“ 6”存儲(chǔ)功能,此功能是把所輸入的資料保存到文件中去,先定義一個(gè)文 件,以寫的二進(jìn)制文件形式打開,文件中最多可以存儲(chǔ)200個(gè)單詞,從&

25、dicti 所指的文件中長度為60的一個(gè)數(shù)據(jù)項(xiàng)寫入fp所指向的存區(qū)。3.3總流程圖yesyesyesno圖3 2控制菜單圖3 3查找單詞Yes/輸入tempi把 temp 拷貝到 dictl.ci把 tempi 拷貝到 dicti.yii r1=1+1;圖3 4增加單詞萬年歷計(jì)算公式:d=year-1+(year-1)/4-(year-1)/100+(year-1)/400+days+6nnNoi<d%7i+輸出空格i=1Noi<=7-d%7i=1輸出格式:Sun Mon Tue Wed Thu Fri Sat輸出換行:輸出格式:輸出換行:year,monthYes輸岀年-月輸出格

26、式:printf("n =n");printf(”=n");printf("=n");輸岀年-月:printf("nnn-%d-%dn",year,month);printf("nn");printf(" Sun Mon Tue Wed Thu Fri Satn");圖3-5萬年歷Store ()以二進(jìn)制讀寫方式打開Inlh文件輸岀界面圖3 6保存單詞View ()清屏空岀兩行Yes圖3 7瀏覽單詞YesYes圖3-8單詞與意思全部清零3.4萬年歷函數(shù)1.萬年歷是有兩個(gè)函數(shù)組成的分別為

27、:m_day()和date()。Date()函數(shù)中包含 m_day()函數(shù),m_day()函數(shù)在date()函數(shù)中被調(diào)用,萬年 歷中year和mo nth作為實(shí)參被調(diào)用傳到行參 m_day()函數(shù)中,再通過判斷閏年 語句(year%4=0&&year%100!=0) | (year%400=0) 進(jìn)行判斷來返回相應(yīng)的月份 天數(shù),再在date()函數(shù)中進(jìn)行累加,根據(jù)數(shù)學(xué)公式計(jì)算出日期所對(duì)應(yīng)的星期號(hào),輸出格式:printf("n =n");printf(”=n");printf("=n");輸岀年-月:printf("nn

28、n-%d-%dn",year,month);printf("nn");printf(" Sun Mon Tue Wed Thu Fri Satn");圖3-8萬年歷第四章系統(tǒng)功能實(shí)現(xiàn)4.1萬年歷函數(shù)1.萬年歷是有兩個(gè)函數(shù)組成的分別為:m_day()和date()。date()函數(shù)中包含 m_day()函數(shù),m_day()函數(shù)在date()函數(shù)中被調(diào)用,萬年 歷中year和mo nth作為實(shí)參被調(diào)用傳到行參 m_day()函數(shù)中,再通過判斷閏年 語句(year%4=0&&year%100!=0) | (year%400=0) 進(jìn)行

29、判斷來返回相應(yīng)的月份 天數(shù),再在date()函數(shù)中進(jìn)行累加,根據(jù)數(shù)學(xué)公式計(jì)算出日期所對(duì)應(yīng)的星期號(hào), 并按照規(guī)定格式輸出。首先運(yùn)行函數(shù),在出現(xiàn)主界面情況下輸入 3回車,如圖4-1所示。確認(rèn)后, 系統(tǒng)會(huì)提示輸入用戶想查找的年份和月份,如圖4-2所示。用戶可以任意輸入年份和月份,如圖4-3所示。之后系統(tǒng)會(huì)對(duì)用戶輸入的年份和月份顯示出信息,如圖4-4所示。圖4-1主界面acEX'!K圖4-2 date () 函數(shù)界面圖4-3輸入年份和月份的date ()函數(shù)界面- Tnr iwfi'電子詞二 EKE圖4-4 date () 函數(shù)顯示界面程序源代碼/*萬年歷函數(shù)源代碼*/int m_da

30、y(i nt year,int mon th)/*此函數(shù)接收由實(shí)參傳給的年份和月份,算出 此年是平年還是閏年.*/if (year%4=0&&year%1OO!=O) | (year%400=0)/*判斷閏年計(jì)算公式 */switch(m on th)/* 用switch語句查找閏年月份*/case 1: case 3: case 5: case 7: case 8: case 10: case 12: retur n 31;case 4: case 6: case 9: case 11: return 30; case 2: return 29;else switch(mon

31、th) /* 用 switch 語句查平年找月份 */ case 1: case 3: case 5: case 7: case 8: case 10: case 12: return 31;case 4: case 6: case 9: case 11: return 30;case 2: return 28;int date()/*date() 主函數(shù) */int year,month;int i,days=0,d,day=0; system("cls");/* 系統(tǒng)清屏 */ printf("n Enter the year:");scanf(&q

32、uot;%d",&year);printf("n Enter the month:");scanf("%d",&month); /* 輸入月份 */ for (i=1;i<month;i+)days+=m_day(year,i); /* 天數(shù)累加用m_day()函數(shù)把年份和月份傳給行參*/ d=year-1+(year-1)/4-(year-1)/100+(year-1)/400+days+1;printf("n =n");printf("=n");printf(" =n&

33、quot;);printf("nnn %d-%dn",year,month);printf("nn");printf("Sun Mon Tue Wed Thu Fri Satn");for (i=0;i<d%7;i+)printf(" "); /*輸出格式空格 */for (i=1;i<=7-d%7;i+)day+; /* 天數(shù)累加 */printf("%8d",day);printf("n");while(1)for (i=1;i<=7;i+)day+;

34、/* 日期號(hào)累加 */if (day>m_day(year,month) /* 判斷該天日期是否大于該月最大日期 */ getch();return 0;printf("%8d",day);printf("n");printf("=n");printf("=n");printf("=n");結(jié)論課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí)解決實(shí)際問題鍛煉實(shí)踐能力的重要環(huán)節(jié)是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程. 隨著科學(xué)技術(shù)發(fā)展的日新月異,當(dāng)今計(jì)算機(jī)應(yīng)用在生活中可以說得是無處不在來、掌握計(jì)算機(jī)開發(fā)

35、技術(shù)是十分重要的。因此作為二十一世紀(jì)的大學(xué)回顧起此次課程設(shè)計(jì), 至今我們?nèi)愿锌H多,的確,自從拿到題目到完成整個(gè)編程,從理論到實(shí)踐,在整整兩個(gè)星期的日子里,可以學(xué)到很多很多的東西, 同時(shí)不僅可以鞏固了以前所學(xué)過的知識(shí), 而且學(xué)到了很多在書本上所沒有學(xué)到過 的知識(shí)。通過這次課程設(shè)計(jì)使我們懂得了理論與實(shí)際相結(jié)合是很重要的, 只有理 論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的, 只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來, 從理論中得出 結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。 在設(shè)計(jì)的過程中遇到問題, 可以說得是困難重重, 這畢竟第一次做的, 難免會(huì)遇 到過各種各樣的問題, 同時(shí)在設(shè)計(jì)的過程中發(fā)現(xiàn)

36、了自己的不足之處, 對(duì)一些前面 學(xué)過的知識(shí)理解得不夠深刻,掌握得不夠牢固,比如說結(jié)構(gòu)體,指針通過這 次課程設(shè)計(jì)之后,我們把前面所學(xué)過的知識(shí)又重新溫故了一遍。在設(shè)計(jì)中我們遇到了很多編程問題, 最后在老師的辛勤指導(dǎo)下, 我們慢慢的 進(jìn)入狀態(tài),我們做的是一個(gè)電子詞典的設(shè)計(jì),容包括很多。我們一組有5 個(gè)人,我們分工合作, 首先我們一起完成了結(jié)構(gòu)體, 然后我們一人各負(fù)責(zé)一個(gè)函數(shù)程序 的設(shè)計(jì),經(jīng)過幾星期的努力, 我們完成了大半個(gè)程序, 但是總是有很多錯(cuò)誤出現(xiàn), 有好多是些小問題, 這都是我們粗心大意造成的, 所以設(shè)計(jì)程序一定要仔細(xì), 不 容一點(diǎn)的馬虎。當(dāng)然也有大問題,關(guān)于文件的操作,是我們最大的問題,不過, 我們做好后,經(jīng)過老師的講解和改錯(cuò),我們也懂得設(shè)計(jì)和運(yùn)用了。我們的課程設(shè)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論