




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、 C語言程序設計 課程設計(論文)題目: 英漢電子詞典 院(系): 專業(yè)班級: 學 號: 學生姓名: 指導教師: 教師職稱: 起止時間: 課程設計(報告)任務及評語院(系):軟件學院 教研室:軟件教研窒學 號學生姓名專業(yè)班級程序設計(報告)題目程序設計(報告)任務程序設計的任務與要求:(1)掌握C語言編程的基礎知識。(2)較熟練地編寫C語言應用程序。(3)了解C語言的常用標準函數(shù)、編程技巧、異常處理。(5)聯(lián)系已學過的內(nèi)容,鞏固所學的理論,增強獨立工作能力。(6)通過設計主要使學生有一個獨立編寫程序的過程,對理論學習及動手能力都有一個很大的提高。(7)通過本次設計,進一步培養(yǎng)學生熱愛專業(yè)的思想
2、,同時對本專業(yè)綜合素質(zhì)的提高起一個積極的推動作用。課程設計過程中,要嚴格遵守實踐環(huán)節(jié)的時間安排,聽從指導教師的指導。正確地完成上述內(nèi)容,記錄實習日記,規(guī)范完整地撰寫出課程設計報告。指導教師評語及成績成績: 指導教師簽字: 2009 年 1 月 10 日目 錄第1章 課程設計的目的與要求11.1 課程設計目的11.2 課程設計的實驗環(huán)境11.3 課程設計的預備知識11.4 課程設計要求1第2章 課程設計內(nèi)容22.1程序功能介紹22.2程序整體設計說明2設計思路2數(shù)據(jù)結構設計及用法說明3程序結構(流程圖)4各模塊的功能及程序說明5程序結果6輸出結果是:delete word success82.3
3、程序源代碼及注釋8第3章 課程設計總結16參考資料17第1章 課程設計的目的與要求1.1 課程設計目的本課程設計是計算機科學與技術專業(yè)重要的實踐性環(huán)節(jié)之一,是在學生學習完程序設計語言(C)課程后進行的一次全面的綜合練習。本課程設計的目的和任務: 1. 鞏固和加深學生對C語言課程的基本知識的理解和掌握 2. 掌握C語言編程和程序調(diào)試的基本技能 3. 利用C語言進行基本的軟件設計4. 掌握書寫程序設計說明文檔的能力5. 提高運用C語言解決實際問題的能力1.2 課程設計的實驗環(huán)境硬件要求能運行Windows 2000/XP操作系統(tǒng)的微機系統(tǒng)。C語言程序設計及相應的開發(fā)環(huán)境。1.3 課程設計的預備知識
4、熟悉C語言及C語言開發(fā)工具。1.4 課程設計要求1. 分析課程設計題目的要求2. 寫出詳細設計說明3. 編寫程序代碼,調(diào)試程序使其能正確運行4. 設計完成的軟件要便于操作和使用5. 設計完成后提交課程設計報告第2章 課程設計內(nèi)容2.1程序功能介紹英漢詞典作為一個常用的學習工具,是我們經(jīng)常要使用的。該系統(tǒng)能完成一個簡單的電子英漢詞典的功能,如:單詞的查找、增詞、刪除、修改和維護等工作。在計算機中建立有限規(guī)模的電子英漢詞典(文件),利用程序?qū)崿F(xiàn)電子英漢詞典的查找、增詞、刪除、修改和維護工作。詞典的內(nèi)容為:每行對應一個詞條,每個詞條由兩個字符串組成,字符串用若干空格符分開;前一個是單詞字符串(英文)
5、,后一個是釋義字符串(中文),使用分號作為多個釋義的分隔符(無空格)。對單詞和釋義字符串長度的限定分別為不少于10個與15個字符,詞條數(shù)限定為不多于1000條。2.2程序整體設計說明程序共有五個子函數(shù)和一個主函數(shù)。1search是查找函數(shù),用戶通過系統(tǒng)提示輸入要查找的單詞,只要單詞庫中含有此單詞便能找到相應的中文解釋。這個查找函數(shù)使用的是從頭到尾的線性查找發(fā),雖然查找效率在數(shù)據(jù)很大上午時候無法容忍的。但是因為這里涉及的數(shù)據(jù)量很小,使用線性查找對系統(tǒng)性能沒有很大上午損害。2.add是增加函數(shù),用戶可通過此函數(shù)來增加單詞庫單詞的數(shù)量。3.modify是修改函數(shù),程序提示用戶輸入要修改的單詞,還是用
6、線性查找的方法查找相應的紀錄,如果找到,則提示輸入新單詞及中文解釋。4.delete是刪除函數(shù),程序提示用戶輸入要刪除的單詞,使用線性查找的方法找到相應的紀錄,如果找到,提示用戶確認刪除才做。在得到確認后,刪除這個單詞的紀錄。5.主程序通過無限循環(huán)來接收輸入的命令,并且根據(jù)命令調(diào)用相應的函數(shù)處理。設計思路英漢詞典作為一個常用的學習工具,是我們經(jīng)常要使用的。該系統(tǒng)能完成一個簡單的電子英漢詞典的功能,如:單詞的查找、增詞、刪除、修改和維護等工作。1、在計算機中建立有限規(guī)模的電子英漢詞典(文件),利用程序?qū)崿F(xiàn)電子英漢詞典的查找、增詞、刪除、修改和維護工作。2、詞典的內(nèi)容為:每行對應一個詞條,每個詞條
7、由兩個字符串組成,字符串用若干空格符分開;前一個是單詞字符串(英文),后一個是釋義字符串(中文),使用分號作為多個釋義的分隔符(無空格)。3、對單詞和釋義字符串長度的限定分別為不少于10個與15個字符,詞條數(shù)限定為不多于1000條。4、采用菜單工作方式。在一個操作執(zhí)行之后,程序詢問是否繼續(xù)執(zhí)行該操作。如輸入Y或y,則重復同一操作,不退回到菜單;如輸入其它信息,則回到菜單等待另一次選擇。僅當選擇退出操作時,程序應詢問是否將修改后的詞典存盤,并根據(jù)用戶選擇存盤退出或不存盤退出。2.2.2數(shù)據(jù)結構設計及用法說明 1 建立單詞數(shù)據(jù)庫(包含英文單詞、中文意思解釋)2 用fopen函數(shù)訪問單詞數(shù)據(jù)庫文件。
8、3 還用到標準的輸出輸入函數(shù),按需輸出輸入或刪除數(shù)據(jù)。 進入菜單頁面以后,有四個選項,1.是查找單詞;2.是增加單詞;3.修改單詞;4.,刪除單詞;5.退出菜單進入菜單:輸入1 ,按回車就會出現(xiàn)提示語,然后輸入你想查詢的單詞,并按回車。如果程序里面存有這個單詞就會輸出這個單詞和它的中文意思。如果不存在就提示你“no this word”。輸入2,按回車就進入增詞的程序了。如果里面存儲的單詞達到200個了,就會提醒你“the dictionaryis full”。如果沒有超過,那就引導你輸入你想增加的單詞及其意思。這樣就增加了單詞。輸入4,回車。在出現(xiàn)“please press the word
9、 you want to update”后面輸進你想修改的單詞,然后根據(jù)提示語輸入單詞及其意思,之后就會告訴你修改完成了。2.2.3程序結構(流程圖)顯示菜單輸入選項開始返回?返回?返回?執(zhí)行查找函數(shù)Search( )執(zhí)行添加函數(shù)Creat( )執(zhí)行刪除函數(shù)Delete( )執(zhí)行break語句退出= =1= =2= =3= =4= =5YYYNNN.2.4.4各模塊的功能及程序說明采用菜單工作方式。在一個操作執(zhí)行之后,程序詢問是否繼續(xù)執(zhí)行該操作。如輸入Y或y,則重復同一操作,不退回到菜單;如輸入其它信息,則回到菜單等待另一次選擇。僅當選擇退出操作時,程序應詢問是否將修改后的詞典存盤,并根據(jù)用戶
10、選擇存盤退出或不存盤退出。查詢單詞:輸入想要查找的單詞單詞庫有此詞?輸出找不到此詞N輸出此詞Y添加單詞功能模塊輸入你想添加的單詞單詞庫有此詞嗎?添加有錯Y添加成功N刪除單詞功能模塊輸入想要刪除的單詞詞庫有此詞嗎?刪除不成功N刪除成功Y2.2.5程序結果查詢單詞:輸入:preciatian屏幕顯示:輸出結果:sorry do not find what you want 添加單詞:選擇2功能輸入你想添加的單詞:Hello輸入它的意思:你好屏幕顯示: 輸出結果是:add word success三:刪除單詞:輸入你想要刪除的單詞:Hello屏幕顯示:輸出結果是:delete word succes
11、s 2.3程序源代碼及注釋#include #include #include #include #include void Search() /*查找單詞*/ FILE *fp; char insert20; char word40; printf(Please input the word you want:n); ges(insert); fp=fopen(wordcage,r); if(fp=NULL);/*沒有找到文件*/ printf(nnSorry do not find what you want.nn); fclose(fp); return ;while (!feof(fp
12、)/*查詢單詞詞庫*/ fread(&wordcage,sizeof( wordcage),1,fp); printf(%s,word); fclose(fp); void addword()/*添加單詞*/ FILE *fp; fp=fopen(wordcage,r);/*以讀方式打開文件*/ if(fp=NULL) fp=fopen(wordcage,w);/*以寫方式打開文件*/ else /*如果有單詞添加*/ fclose(fp); fp=fopen(wordcage,a);/*以追加方式打開文件*/ char insert20; printf(Inser the new word:
13、n); gets(insert);printf(Givinig the meaning:n); scanf(%s,word); fclose(fp);printf(nnadd word success.nn); void worddel(); FILE *fp; Word *head,*p,*q; char word20; fp=fopen(Wordcage,rb);/*讀方式打開文件*/ if(fp=NULL) printf(Error!); fclose(fp); return; head=p=q=(Word*)malloc(sizeof(Word);/*將文件內(nèi)容放入鏈表*/ while
14、(!feof(fp) q=p; p=(Word*)malloc(sizeof(Word); fread(p,sizeof(Word),1,fp); /*讀記錄*/ q-next=p;/*新記錄插入到鏈表的尾*/ p-next=NULL;/*最后一個結點的后繼為空*/ fclose(fp); clrscr(); printf(Input the word: );/*輸入要刪除的單詞*/ gets(word); /*輸入單詞*/ p=head; while(p!=NULL)/*按名字查找要刪除的圖書*/if(strcmp(p-name,word)=0)/*找到要刪除的單詞*/ if(p=head)
15、 /*如果是第一個結點*/ head=head-next; else q-next=p-next;/*不是第一個結點*/ break; q=p; /*指針后移*/ p=p-next; fp=fopen(Word.txt,wb);/*刪除后從鏈表的頭開始重新保存*/ while(head!=NULL) fwrite(head,sizeof(Word),1,fp);/*塊寫*/ head=head-next; fclose(fp); clrscr(); void cleanscrean() printf(nnnnnnnnnnnnnnnnnnnnnnnn); int main() int numbl
16、e; MENU: printf(*MENU*nn); /*顯示主菜單*/ printf(nn); printf(nn); printf( nn); printf(nn); printf(nn);printf(nn);printf(nn); printf(*n); do printf(Please choice form 1 to 7:n); /*選擇你所要的功能*/ scanf(%d,&numble); while(numble8); switch(numble) case 1: Search(); goto MENU; case 2: addword(); goto MENU; case 3
17、: worddel(); goto MENU; case 4: cleanscrean();return 0; case 5: break;case 6: goto MENU;break;case 7:break; return 0; #include#includemain() static int n=32;char m; struct char eng10; char ci15; char yin10; char chi30; word1000=good,a,goud,hao,aide,n,eid,zhushou,bone,n,boun,gutou,ball,n,bo:,qiu,cat,
18、n,cat,mao,cattle,n,katl,niu,clean,adj+d+v,kli:n,1.gan jin 2.gongzheng,a,num,ei,yi ge,finally,ad,fainens,zuizhong,finish,v+n,finish,wancheng,girl,n,ge:l,nvhai,five,v,giv,gei,go,n+v,gou,zou,help,int+n,help,bangzhu,he,pron,hi:,ta,here,ad+ini,hie,zheli,high,aadj+ad+n,hai,gao,ice,n,ais,bing,idea,n,aidie,
19、zhuyi,imagine,v,imadgin,xiangxiang,in,v,in:,zailimian,kill,v,kil,shasi,king,n,king,guowang,kiss,v+n,kis,wen,knight,n+v,nait,qishi,late,adj+ad,leit,1.chi de 2.yihoude,left,adj+ad+n,left,zuobian,line,n+v,lain,xian,name,n+v,neim,mingzi,mission,v,mision,rengwu; clrscr();loop:for(;) clrscr(); printf(nt *
20、Please make a choise*n); printf(nnt 1.Add the new wordn); printf(t 2.Del wordn); printf(t 3.find wordn); printf(t 4.Exit the processnn); printf( Please choose 14 to entern); printf( Please press the key:); scanf(%c,&m); switch(m) case 1: char j10,k15,l10,p30;+n;printf(n Add new word);printf(nn pleas
21、e enter the Danci: );scanf( %s,j);printf(n Enter the Cixing:);scanf( %s,k);printf(n Enter the Yingbiao:);scanf( %s,l);printf(n Enter the Chinese:);scanf( %s,p); strcpy(wordn.eng,j); strcpy(wordn.ci,k); strcpy(wordn.yin,l); strcpy(wordn.chi,p);printf(n Please check it:); printf(nn English. %s,wordn.e
22、ng); printf(nn Cixing: %s, wordn.ci); printf(nn Yinbiao: %s, wordn.yin); printf(nn Chinese: %snn,wordn.chi);printf(n Please press any key with Enter key back!);scanf(%s,m); goto loop;第3章 課程設計總結然這次的課程設計有些功能實現(xiàn)的不是很好,總的來說這次課程設計效果還是可以的,在短短的兩天時間內(nèi),我們看的書的數(shù)量是非常多的,很多沒見過的函數(shù)都學了,但是自學確實是很難,很多函數(shù)雖然用的語法沒錯,但是不能應用自如,為自己所用。這只能說明自己還需加把努力,希望在以后的學習中得到大的進步。通過課程設計使握進一步掌握和利用C語言進行程設計的能力;進一步理解和運用結構化程序設計的思想和方法;初步掌握開發(fā)一個小型實用系統(tǒng)的基本方法;學會調(diào)試一個較長程序的基本方法;而且通過這次課程設計讓我學會了認真的精神態(tài)度是多么的重要,認真思考對學習的重要性。 這
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國硬度計市場競爭格局及投資戰(zhàn)略研究報告
- 2025-2030年中國男士護膚品行業(yè)競爭狀況及發(fā)展趨勢分析報告
- 2025-2030年中國電熱線市場運行狀況及前景趨勢分析報告
- 上海工程技術大學《預防口腔醫(yī)學》2023-2024學年第二學期期末試卷
- 沈陽藥科大學《工業(yè)網(wǎng)絡與組態(tài)技術》2023-2024學年第二學期期末試卷
- 中南大學《電動汽車原理與設計》2023-2024學年第二學期期末試卷
- 沈陽航空航天大學北方科技學院《初中道德與法治課程標準與教材》2023-2024學年第二學期期末試卷
- 遼寧中醫(yī)藥大學杏林學院《電工儀表與測量》2023-2024學年第二學期期末試卷
- 廣西金融職業(yè)技術學院《化工熱力學》2023-2024學年第二學期期末試卷
- 2025年安全員《A證》考試題庫
- 2025至2030年中國電子護眼臺燈數(shù)據(jù)監(jiān)測研究報告
- 2025年浙江省溫州樂清市融媒體中心招聘4人歷年高頻重點提升(共500題)附帶答案詳解
- 2025夏季廣東廣州期貨交易所招聘高頻重點提升(共500題)附帶答案詳解
- 北京市豐臺區(qū)2024-2025學年高三上學期期末英語試題
- 2025上海市嘉定工業(yè)區(qū)農(nóng)村青年干部招聘22人歷年高頻重點提升(共500題)附帶答案詳解
- 《獸醫(yī)基礎》練習題及參考答案
- 2025年煤礦探放水證考試題庫
- 農(nóng)業(yè)機械設備運輸及調(diào)試方案
- 污水處理設備的故障處理指南考核試卷
- ps 課件教學課件
- 神經(jīng)外科患者早期康復護理
評論
0/150
提交評論