![英漢小詞典課程設(shè)計報告_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/28/120ac459-f10c-44e3-baad-e1262aaa34c7/120ac459-f10c-44e3-baad-e1262aaa34c71.gif)
![英漢小詞典課程設(shè)計報告_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/28/120ac459-f10c-44e3-baad-e1262aaa34c7/120ac459-f10c-44e3-baad-e1262aaa34c72.gif)
![英漢小詞典課程設(shè)計報告_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/28/120ac459-f10c-44e3-baad-e1262aaa34c7/120ac459-f10c-44e3-baad-e1262aaa34c73.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、英漢小詞典課程設(shè)計報告學(xué)號2012-2013學(xué)年 第二學(xué)期高級語言程序設(shè)計課程設(shè)計報告題目:英漢小詞典專業(yè):計算機科學(xué)與技術(shù) 班級:計科2班姓名 :XXXX指導(dǎo)教師:XXX成績:計算機與信息工程系2013年06月28日目錄1 設(shè)計內(nèi)容及要求 31.1 設(shè)計內(nèi)容 31.2 設(shè)計任務(wù)及具體要求 32 概要設(shè)計 42.1 系統(tǒng)功能簡介 42.2 總體設(shè)計框圖 43 設(shè)計過程或程序代碼 53.1 對關(guān)鍵代碼加以分析說明 53.2 程序運行界面 104 程序設(shè)計結(jié)果與分析 125 心得 13致謝 13參考13附錄:源程序14英漢小詞典1 設(shè)計內(nèi)容及要求1.1 設(shè)計內(nèi)容(1) 、在計算機中建立有限規(guī)模的電
2、子英漢詞典(文件) ,利用程序?qū)崿F(xiàn)電子 英漢詞典的查詢、增詞、刪除、修改和維護工作。(2) 、詞典的內(nèi)容為:每行對應(yīng)一個詞條,每個詞條由兩個字符串組成,字 符串用若干空格符分開;前一個是單詞字符串(英文) ,后一個是釋義字符 串(中文),使用分號作為多個釋義的分隔符(無空格) 。(3) 、對單詞和釋義字符串長度的限定分別為不少于 20 個與 40 個字符,詞 條數(shù)限定為不多于 200 條。(4) 、采用菜單工作方式。在一個操作執(zhí)行之后,程序詢問是否繼續(xù)執(zhí)行該 操作。如輸入A或a,貝U重復(fù)同一操作,不退回到菜單;如輸入其它信息, 則回到菜單等待另一次選擇。 僅當(dāng)選擇退出操作時, 程序應(yīng)詢問是否將
3、修改 后的詞典存盤,并根據(jù)用戶選擇存盤退出或不存盤退出。1.2 設(shè)計任務(wù)及具體要求主要利用 c 語言的文件操作能力設(shè)計開發(fā)一個英漢小詞典,至少具有如下 功能:查詢、刪除、增詞、修改單詞。操作界面要符合用戶的一般習(xí)慣,圖形 或文本界面都可以。要求:明確課程設(shè)計的目的,能根據(jù)課程設(shè)計的要求,查閱相關(guān)文獻(xiàn),為 完成設(shè)計準(zhǔn)備必要的知識; 提高學(xué)生用高級語言進行程序設(shè)計的能力,重點提 高用 C 語言進行文件操作和繪圖應(yīng)用的編程技術(shù)水平;初步了解軟件開發(fā)的一 般方法和步驟; 提高撰寫技術(shù)文檔的能力。2概要設(shè)計2.1系統(tǒng)的功能簡介用戶可以通過本系統(tǒng)查詢單詞以及釋義,修改,新增以及刪除詞條。用戶在 使用電子詞
4、典的時候,有可能會使用電子詞典的查詢功能,也有可能使用電子 詞典的輕松背單詞功能,當(dāng)用戶需要查詢的時候,系統(tǒng)必須提供這個單詞的所 有信息,以便與用戶獲得所需要的信息;可以自定義單詞,使用戶自己可以新 增詞條,擴充詞庫。輸入與輸出的要求:當(dāng)用戶使用查詢功能時,系統(tǒng)必須顯示詞條與釋義;當(dāng) 用戶覺得本詞條存在不足,需要修改時,系統(tǒng)必須提供修改的詞條與釋義,以 及用戶輸入的內(nèi)容,修改完成時,提示按確認(rèn)結(jié)束,刪除單詞時顯示要刪除的 詞條與釋義,以及詞條已刪除。2.2總體程序框圖圖A總體設(shè)計圖B詳細(xì)設(shè)計3設(shè)計過程或程序代碼3.1對關(guān)鍵代碼加以分析說明(一) 菜單顯示:int main (i nt argk
5、,char *argh)int m=0;if(argk>1) strcpy(fileDict,argh1);else strcpy(fileDict,"c:dict.txt");for(;)新增詞條printf("n 歡迎使用電子英漢小詞典!nn-1- 查詢詞條 n-2-n-3- 刪除詞條 n-4- 修改詞條 n-5- 退出詞典nn");m=getchar()-'0'switch(m)case 1: Search();break;case 2: Append();break;case 3: Delete();break;case 4
6、: Update();break;default : return 0;return 0;(二) 查詢詞條:void Search(void)Project i;fpos_t p=0;memset(&i,0,szProject );printf("please input the word you want:"); scanf("%s",i.word );p=consult(i.word,i.mean);if(p=0)printf("sorry do not find what you want!n"); return;pri
7、ntf(”單詞:sn釋義 s",i.word,i.mean );(三) 新增詞條:void Append(void)Project i;FILE *f=0;fpos_t p=0;memset(&i,0,szProject);printf("please input the word you want:");scanf("%s",i.word );p=consult(i.word,0);if(p)printf("sorry do not find what you want!n");return;printf(&quo
8、t;please giving the meaning, fflush(stdin);gets(i.mean);f=fopen(fileDict,"ab");fwrite(&i,szProject,1,f);fclose(f);printf(" 詞條已新增 n");(四) 刪除詞條:void Delete(void)Project i;FILE *f=0;fpos_t p=0;memset(&i,0,szProject); printf("please input the word you want:"); scanf
9、("%s",i.word);p=consult(i.word,0);if(p=0)printf("sorry do not find what you want!n"); return;p-;按確認(rèn)結(jié)束 ");memset(&i,0,szProject);f=fopen(fileDict,"rb+");fsetpos(f,&p);fwrite(&i,szProject,1,f);fclose(f);printf(" 詞條已刪除 n");(五) 修改詞條:void Update(vo
10、id)Project i;FILE *f=0;fpos_t p=0;memset(&i,0,szProject);printf("please input the word you want:");scanf("%s",i.word);p=consult(i.word,0);if(p=0)printf("sorry do not find what you want!n");return;p-;printf("please giving the meaning, 按確認(rèn)結(jié)束 ( 輸入 drop 放棄修 改):&quo
11、t;);fflush(stdin);gets(i.mea n);if(strstr(i.mea n,"drop")printf("已放棄修改!n");return;f=fope n(fileDict,"rb+");fsetpos(f,&p);fwrite(&i,szProject,1,f);fclose (f);printf(" 詞條已保存n");3.2程序運行界面進入菜單界面后,出現(xiàn)“歡迎使用電子英漢詞”;然后有5個選項:1查詢詞條, 2新增詞條,3刪除詞條,4修改詞條,5退出詞典。輸入1,按回車
12、鍵,輸入你想查詢的詞條,如果系統(tǒng)里存在你要查詢的單詞,就會輸出詞條與釋義,如果沒有,會顯示“sorry do not find what you want! ”,C1 計科ZOB 010ZD4 VDebug歡迎使用電子英漢小詞典辛司司司司司Tt* Tr»T> Tt改出 查新刪f>退 -1 2 3 4 5please in put tlieuan t: do g里詞:dog春義狗-歡迎使用電子英汶小詞典*詞詞詞詢詞改出 查新刪條退 -12 2 4s輸入2,按回車鍵,輸入你想要新增詞條,輸入你要新增的單詞,如“ cat”, 按回車輸入釋義“貓”,如果系統(tǒng)存在本詞條,則會輸出“
13、sorry do notfind what you want! ”輸入3,按回車鍵,輸入你想刪除的詞條,按回車會輸出詞條已刪除please input; the ucpdl you vaint"詞條已刪除-歡迎使用電子英濃卜詞蜘昱可司同昱-y *lv!mJI岀 一 a 查新刪修退一SS -eto centinue輸入4,按回車鍵,輸入你想修改的詞條,按回車,輸入釋義。如果放棄修 改則輸入“ drop ”。 Id X-V "1科N班睡云12080102O4DebUQ0法-歡迎便用電子英漢小詞典辛一詞詞詞詞詞 一詢出 查新刪修退 -H -12 3 4 5 _plaice inp
14、u <t>iie uo>*duan t dlogrpleAsc giuing the neaniny,按確認(rèn)纟吉東C輸入Wop放棄修改 詞衆(zhòng)己掾存-歡迎使用電子英汶小詞典?SnW- 詞詞詞詞詞一 詢證改出一 查新刪修退一 一一 一一一 _ 7I-2TH4F5計算機與信息工程系高級語言程序設(shè)計課程設(shè)計報告輸入 5,退出詞典。4 程序設(shè)計結(jié)果與分析 當(dāng)把程序?qū)懞貌⑦M行調(diào)試時,并不是一帆風(fēng)順的,總會遇到很多在調(diào)試時 遇到的錯誤。1. 首先在定義函數(shù)時,不能輸入漢字。否則會程序會顯示錯誤。2. 如果要調(diào)用查詢函數(shù),增詞函數(shù),刪除函數(shù),修改函數(shù)等要在主函數(shù)前 面進行申明,否則會顯示警告
15、。3. 如果程序在運行的過程中,對于一個循環(huán)語句,如果你返回的值始終是 真的,那么程序?qū)⑦M如死循環(huán)。4. 對應(yīng)該有花括弧的復(fù)合語句 ,忘記加花括弧。5. 所調(diào)用的函數(shù)在調(diào)用語句之后才定義 ,而又在調(diào)用前未加說明。5 心得 在本課程設(shè)計的設(shè)計過程中,我體會到了從事 C 語言課程設(shè)計工作需要嚴(yán) 謹(jǐn)、認(rèn)真的態(tài)度和作風(fēng),半點都不能馬虎。每個細(xì)微的小細(xì)節(jié)都必須十分注意, 如果不認(rèn)真思考,就會出現(xiàn)或大或小的錯誤。如果沒有發(fā)現(xiàn)前面的錯誤,對后 面的工作影響就會很大,甚至有時會推倒很多前面做的工作。有時候,我自己 覺得我寫的程序非常正確,但就是編譯通不過,在查詢錯誤的過程中,面臨著 否認(rèn)自己的過程,感覺很痛苦
16、。在設(shè)計過程中遇到的很多問題與麻煩,通過向 同學(xué)請教與討論后基本得到了解決,讓我明白了團體的力量是巨大的,平時遇 到問題要勇于與同學(xué)們和老師討論,這樣才能共同進步與學(xué)習(xí),也只有這樣才 能進步的更快,同時也要敢于相信自己的主見,也要考慮別人的想法和意見, 不能一味的接受或者排斥,同時也不能太驕傲自大,要謙虛地向老師與同學(xué)請 教,只有這樣我才能不斷的進步。在反反復(fù)復(fù)的學(xué)習(xí)中,我終于作出一個簡單的程序,雖然這個程序的功能非 常簡單,而且在實際運用中還有些不足,比如:在查詢詞條后,按任意鍵會退 出 詞典,這點還需要改進。在進行其他功能完成后,按任意鍵不會退出系統(tǒng)。致謝在這次 C 語言課程設(shè)計中,我的老
17、師和同學(xué)給了我及大的幫助。特別是我的 指導(dǎo)老師孫淮寧老師,還有我的 C 語言任課老師徐寧老師。在此,我對他們表 示感謝! 感謝他們在我面對困難時給了我?guī)椭椭С?。也感謝那些給我?guī)椭乃?有同學(xué)!參考文獻(xiàn):1】譚浩強 .C 程序設(shè)計(第三版) . 清華大學(xué)出版社 .2005 年: P219 P363【2】胡超、閆玉寶.30天學(xué)通Visual C+項目案例開發(fā).電子工業(yè)出版社 2009 年: P228P273附錄:源程序#include <stdio.h>#include <stdlib.h>#include <string.h>#define szWORD 5
18、0#define szSTRN 200#define szProject sizeof(struct Dictionary) char fileDictszSTRN;typedef struct Dictionary /* 聲明新結(jié)構(gòu)體類型名為 Project*/ char wordszWORD;char meanszSTRN;Project;fpos_t consult(char *word,char *mean)FILE *f=0;Project i;int r=0;fpos_t p=0; if(!word) return 0;f=fopen(fileDict,"rb"
19、);/* 以讀的方式打開二進制文件 */if(!f) return 0;while(!feof(f) /* 指針是否指導(dǎo)文件末尾 */fgetpos(f, &p);r=fread(&i,szProject,1,f); /* 讀入數(shù)據(jù)的存放地址 */ if(r<1) break; if(i.word0=0) continue; if(strcmp(i.word,word) continue; if(mean) strcpy(mean,i.mean );fclose(f);/*關(guān)閉文件 */return p+1;fclose(f);/*關(guān)閉文件 */return 0;void
20、 Search(void); /*對 Search 函數(shù)進行函數(shù)聲明 */ void Append(void); /* 對 Append 函數(shù)進行函數(shù)聲明 */ void Delete(void);/*對 Delete 函數(shù)進行函數(shù)聲明 */void Update(void); /* 對 Update 函數(shù)進行函數(shù)聲明 */ int main(int argk,char *argh)/* 主菜單顯示 */int m=0;if(argk>1) strcpy(fileDict,argh1);/* 文件復(fù)制 */else strcpy(fileDict,"c:dict.txt&quo
21、t;);/*文件復(fù)制 */for(;)printf("nn- 歡迎使用電子英漢小詞典!nn-1-查詢詞條n-2-新增詞條n-3-刪除詞條n-4-修改詞條n-5-退出詞典 nn");m=getchar()-'0'switch(m)case 1: Search();break;case 2: Append();break;case 3: Delete();break;case 4: Update();break;default : return 0;return 0;void Search(void) /* 查詢詞條 */Project i;fpos_t p=0
22、;memset(&i,0,szProject ); /* 將結(jié)構(gòu)體 szProject 的指定位置清零 */ printf("please input the word you want:");scanf("%s",i.word );p=consult(i.word,i.mean);if(p=0)printf("sorry do not find what you want!n");return;printf(” 單詞:sn 釋義 s",i.word,i.mean );void Append(void)/* 新增詞條
23、 */Project i;FILE *f=0;fpos_t p=0;memset(&i,0,szProject); /* 將結(jié)構(gòu)體 szProject 的指定位置清零 */ printf("please input the word you want:");scanf("%s",i.word );p=consult(i.word,0);if(p)printf("sorry do not find what you want!n");return;printf("please giving the meaning, 按
24、確認(rèn)結(jié)束 ");fflush(stdin);/* 清除標(biāo)準(zhǔn)輸入設(shè)備(本程序中指鍵盤)的緩存 */gets(i.mean);f=fopen(fileDict,"ab");/* 以向文件末尾添加數(shù)據(jù)的方式打開文件 */fwrite(&i,szProject,1,f); /* 輸出數(shù)據(jù)的地址 */ fclose(f);/*關(guān)閉文件 */printf(" 詞條已新增 n");void Delete(void)/* 刪除詞條 */Project i;FILE *f=0;fpos_t p=0;memset(&i,0,szProject); /* 將結(jié)構(gòu)體 szProject 的指定位置清零 */ printf("please input the word you want:");scanf("%s",i.word);p=consult(i.word,0);if(p=0)printf("sorry do not find what you want!n");return;p-;memset(&i,0,szProject);/* 將結(jié)構(gòu)體 szProj
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 臨時隔斷墻施工項目合同
- 個人投資入伙合同書范本
- 個人抵押債務(wù)合同樣本簡易版
- 個人股權(quán)轉(zhuǎn)讓合同樣本:標(biāo)準(zhǔn)版
- 個人分紅權(quán)益保障合同2025
- 專業(yè)技能人才租賃合同
- 個人租賃合同模板:門面租賃
- 二手房屋購置合同條款
- 兩人創(chuàng)業(yè)合作合同書
- 個人健康保險合同條款范文
- 《中小學(xué)校園食品安全和膳食經(jīng)費管理工作指引》專題知識培訓(xùn)
- 2024年新疆區(qū)公務(wù)員錄用考試《行測》真題及答案解析
- 第三章-自然語言的處理(共152張課件)
- 行政事業(yè)單位國有資產(chǎn)管理辦法
- 六年級口算訓(xùn)練每日100道
- 高一生物生物必修一全冊考試題帶答題紙答案
- 北師大版五年級上冊四則混合運算100道及答案
- 人教部編版道德與法治八年級下冊:6.3 《國家行政機關(guān)》說課稿1
- 2024山東能源集團中級人才庫選拔(高頻重點提升專題訓(xùn)練)共500題附帶答案詳解
- 鋼鐵是怎樣煉成的讀后感作文700字
- 武漢市江夏區(qū)2022-2023學(xué)年七年級上學(xué)期期末數(shù)學(xué)試卷【帶答案】-109
評論
0/150
提交評論