電子英漢詞典設(shè)計
《電子英漢詞典設(shè)計》由會員分享,可在線閱讀,更多相關(guān)《電子英漢詞典設(shè)計(16頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、、課程設(shè)計的內(nèi)容 電子英漢詞典設(shè)計 一、問題描述: 英漢詞典作為一個常用的學(xué)習(xí)工具,是我們經(jīng)常要使用的。該系統(tǒng)能完成一個簡單的 電子英漢詞典的功能,如:單詞的查找、增詞、刪除、修改和維護(hù)等工作。 二、功能描述: 1、在計算機中建立有限規(guī)模的電子英漢詞典(文件) ,利用程序?qū)崿F(xiàn)電子英漢詞典的 查找、增詞、刪除、修改和維護(hù)工作。 2、 詞典的內(nèi)容為: 每行對應(yīng)一個詞條, 每個詞條由兩個字符串組成, 字符串用若干空 格符分開;前一個是單詞字符串(英文) ,后一個是釋義字符串(中文) ,使用分號作為多 個釋義的分隔符(無空格) 。 3、 對單詞和釋義字符串長度的限定分別為不少于 2
2、0 個與 40 個字符, 詞條數(shù)限定為不 多于 200 條。 4、 采用菜單工作方式。 在一個操作執(zhí)行之后, 程序詢問是否繼續(xù)執(zhí)行該操作。 如輸入 Y 或 y ,則重復(fù)同一操作,不退回到菜單;如輸入其它信息,則回到菜單等待另一次選擇。 僅當(dāng)選擇退出操作時,程序應(yīng)詢問是否將修改后的詞典存盤,并根據(jù)用戶選擇存盤退出或 不存盤退出。 5、要求整個設(shè)計以人為本,用戶界面友好。 二、課程設(shè)計的要求與數(shù)據(jù) 1、進(jìn)一步掌握和利用 C 語言進(jìn)行程設(shè)計的能力; 2、進(jìn)一步理解和運用結(jié)構(gòu)化程序設(shè)計的思想和方法; 3、初步掌握開發(fā)一個小型實用系統(tǒng)的基本方法; 4、學(xué)會調(diào)試一個較長程序的基本方法
3、; 5、學(xué)會利用流程圖或 N-S 圖表示算法; 6、掌握書寫程序設(shè)計開發(fā)文檔的能力。 三、課程設(shè)計應(yīng)完成的工作 1、編寫完成相應(yīng)題目的程序; 2、編寫課程設(shè)計報告 ,課程設(shè)計報告的內(nèi)容應(yīng)包括以下 6個部分: 1) 需求分析:包括設(shè)計題目、設(shè)計要求以及系統(tǒng)功能需求分析; 2) 總體設(shè)計:包括系統(tǒng)總體設(shè)計框架和系統(tǒng)功能模塊圖; 3) 詳細(xì)設(shè)計:包括主要功能模塊的算法設(shè)計思路以及對應(yīng)的工作流程圖; 4) 調(diào)試分析過程描述:包括測試數(shù)據(jù)、測試輸出結(jié)果,以及對程序調(diào)試過程中存 在問題的思考(列出主要問題的出錯現(xiàn)象、出錯原因、解決方法及效果等,適當(dāng) 的包含結(jié)果截圖) ; 5)總結(jié):
4、課程設(shè)計完成了哪些功能,有沒有什么擴展功能?還有哪些地方需要改 進(jìn)?課程設(shè)計過程中的學(xué)習(xí)體會與收獲、對本次課程設(shè)計的認(rèn)識以及自己的建等 內(nèi)容; 6)附錄:主要源程序代碼,含必要的注釋。 3、答辯:在實驗室建立程序運行的環(huán)境,并在指導(dǎo)教師的監(jiān)督下,獨立解 決問題、運行程序和回答教師提出的問題 四、課程設(shè)計進(jìn)程安排 在舁 廳P 設(shè)計各階段內(nèi)容 地點 起止日期 1 下達(dá)任務(wù)書,說明設(shè)計要求;收集資料 實驗3#517 6.18 2 總體力泵設(shè)計、詳細(xì)設(shè)計 實驗3#517 6.19 3 編寫程序,調(diào)試分析 實驗3#517 6.20 4 撰寫報告并上交,答辯
5、實驗3#517 6.21 五、應(yīng)收集的資料及主要參考文獻(xiàn) [1]譚浩強.C程序設(shè)計(第三版)[M],北京:清華大學(xué)出版社, 2005.9 [2]譚浩強.C程序設(shè)計題解與上機指導(dǎo)(第三版)[M],北京:清華大學(xué)出版社,2005.7 [3]李春葆 曾平 劉斌。C+郵言程序設(shè)計題典第一版 北京 清華大學(xué)出 版社2003年4月 [5]劉振安劉燕君 C++程序設(shè)計課程設(shè)計第一版 機械工業(yè)出版社 2004年8月 發(fā)出任務(wù)書日期:2007年6月18日 指導(dǎo)教師簽名: 計劃完成日期: 2007年6月22日 基層教學(xué)單位責(zé)任人簽章: 主管院長簽章: 1設(shè)計目的與要求 1頁碼 2總體
6、設(shè)計 2頁碼 3詳細(xì)設(shè)計 2 —3頁碼 3.1 功能模塊設(shè)計 2-3頁碼 3.1.1 查詢單詞功能模塊 2 頁碼 頁碼 3.1.2 添加單詞功能模塊 3.1.3 刪除單詞功能模塊 3 頁碼 3.2 數(shù)據(jù)結(jié)構(gòu)設(shè)計 3頁碼 4調(diào)試分析 4-5 頁碼 5總結(jié) 6頁碼 6附錄 6-10頁碼 6答辯記錄(正文處請留出適當(dāng)空白) 11頁碼 7指導(dǎo)教師意見(正文處請留出十行空白) 11頁碼 1目的與要求 課程設(shè)計為學(xué)生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實 際應(yīng)用問題進(jìn)行有機結(jié)合,鍛煉學(xué)生分析、解決實際問題的能力,提高學(xué)生項目開
7、發(fā)及程 序調(diào)試能力。 課程設(shè)計為學(xué)生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實 際應(yīng)用問題進(jìn)行有機結(jié)合,鍛煉學(xué)生分析、解決實際問題的能力,提高學(xué)生項目開發(fā)及程 序調(diào)試能力。 (1)總體要求 ①對系統(tǒng)進(jìn)行功能模塊分析、控制模塊分析正確; ②系統(tǒng)設(shè)計要實用; ③編程簡練,可用,功能全面 ,具有較好的健壯性; ④說明書、流程圖要清楚。 (2) 課程設(shè)計報告要求 ①需求和規(guī)格說明:問題描述:題目要解決的問題是什么 ? ②設(shè)計 十設(shè)計思路:主要算法思想。 十總體設(shè)計:程序設(shè)計組成框圖、 N-S流程圖。 十詳細(xì)設(shè)計:模塊功能說明(如函數(shù)功能、入口及出口參數(shù)說明,
8、 函數(shù)調(diào)用關(guān)系描 述等) 。 ③ 調(diào)試與測試 :調(diào)試過程中遇到的主要問題,是如何解決的;對設(shè)計和編碼的回顧討 論 和分析;改進(jìn)設(shè)想;經(jīng)驗和體會等。 ④附錄:源程序清單和結(jié)果。如果題目規(guī)定了測試數(shù)據(jù),則結(jié)果要包含這些測試數(shù)據(jù) 和 運行輸出, 當(dāng)然還可以含其他測試數(shù)據(jù)和運行輸出; 清單中應(yīng)有足夠的注釋。 頁碼 1 2總體設(shè)計 (內(nèi)容可以適當(dāng)調(diào)整,清晰的有條理的把你的設(shè)計思路表達(dá)出來) 3.1功能模塊設(shè)計 3.1.1查詢單詞功能模塊
9、 頁碼3 3.1.2添加單詞功能模塊 3.1.3刪除單詞功能模塊 3.2數(shù)據(jù)結(jié)構(gòu)設(shè)計 1 .建立單詞數(shù)據(jù)庫(包含英文單詞、中文意思解釋) 2 .用fopen函數(shù)訪問單詞數(shù)據(jù)庫文件。 3 .還用到標(biāo)準(zhǔn)的輸出輸入函數(shù),按需輸出輸入或刪除數(shù)據(jù)。 頁碼4 4調(diào)試分析 查詢單詞: 輸入:preciatian 屏幕顯示: 匚晨國:、叫I艮吉\.h。c就程設(shè)il Please Input the uord you want: ptec izt iLctn Gqitv
10、do not; tind wlmt you. wcm t.
士網(wǎng)予于軻 矛*矛力矛耳下下 士什EN[J xm?Jtm* = q ar"什
1 EnglisJi to Ghlnese
11、-HWieveirMWM-M M M M H X M* ** * H * M X M X * W * * **
Please choice forn 1 to 7:
輸出結(jié)果: sorry do not find what you want
添加單詞:
選才i 2功能
輸入你想添加的單詞:
Hello
輸入它的意思:
頁碼4
你好 屏幕顯示:
■- 息志vthe c 既租
< < 2 I nser the ^ordl yum want to add>>>>
《2 De 1 the existed uopdl》〉〉》
K<《
12、>> < < 5 medify Lfie eMlstecl wurd>>> < C6 protect tJie systen >> < < 7 Exit the systen>>>> XJtMKH JtK JtJCHJC JKW JCM 序?-茨?-?6 X X M X K MM ■ J< * X K J< Please cho ice f orim 1 to 7: 2 Inser the ney uoiM : bwiio Miuinig the meaning]: 收好 Ladd word $ access ■ iMft x* jMftitiftjii***, mH FH
13、 U
輸出結(jié)果是: add word success
三:刪除單詞:
輸入你想要刪除的單詞: Hello
匚:E:"葉信有the g課程城
屏幕顯示:
XltXKKltMJIt\JHHB M:帳 KJf SMX 餐:M KM i(M MHMrK JtH
please cho ice Form 1 to 7"
-J
rploaLS@ xnsei*t 七ko vruiad. youi wam^ 14、 English to Chinese>>
U
K< 2 I rser the word you uant to add>>>>
K< 3 De 1 the existed wopd>>>>
KC 4 Clean the sepeen >>
K< 5 modify the r工word〉〉〉
K^CC^fi jpvntftet tlw?笈ysrtfiiri 》》》,
K< 7 Exit tlw @j^stan>>>>
lease choLee furn 1 to 7;
輸出結(jié)果是:delete word success 頁碼5
5 總結(jié)
雖然這次的課程設(shè)計有些功能實現(xiàn) 15、的不是很好 ,總的來說這次課程設(shè)計效果還是可以
的,在短短的兩天時間內(nèi),我們看的書的數(shù)量是非常多的,很多沒見過的函數(shù)都學(xué)了,但是
自學(xué)確實是很難,很多函數(shù)雖然用的語法沒錯,但是不能應(yīng)用自如,為自己所用。這只能說
明自己還需加把努力,希望在以后的學(xué)習(xí)中得到大的進(jìn)步。通過課程設(shè)計使握 進(jìn)一步掌握
和利用 C 語言進(jìn)行程設(shè)計的能力;進(jìn)一步理解和運用結(jié)構(gòu)化程序設(shè)計的思想和
方法; 初步掌握開發(fā)一個小型實用系統(tǒng)的基本方法; 學(xué)會調(diào)試一個較長程序的基
本方法; 而且通過這次課程設(shè)計讓我學(xué)會了認(rèn)真的精神態(tài)度是多么的重要,認(rèn)真思考對學(xué)
習(xí)的重要性。 這個程序完全是個人所做,望老師給以批評和建議! 16、
7. 附錄
#include 17、/
{ printf("\n\nSorry do not find what you want.\n\n");
fclose(fp);
return ;
}while (!feof(fp))/* 查詢單詞詞庫 */
{ fread(&wordcage,sizeof( wordcage),1,fp);
fclose(fp);
}
void addword()/* 添加單詞 */
{
FILE *fp;
fp=fopen("wordcage","r");/* 以讀方式打開文件 */
if(fp==NULL)
fp=fopen("wordcage","w");/* 以寫方式 18、打開文件 */
else /*如果有單詞添加 */
{ fclose(fp);
fp=fopen("wordcage","a");/* 以追加方式打開文件 */
}
char insert[20];
printf("Inser the new word:\n");
gets(insert);
printf("Givinig the meaning:\n");
scanf("%s",word);
fclose(fp);
printf("\n\nadd word success.\n\n");
}
void worddel();
{
FILE *fp;
Word * 19、head,*p,*q;
char word[20];
fp=fopen("Wordcage","rb");/* 讀方式打開文件 */
if(fp==NULL)
printf("Error!"); 頁碼 7
fclose(fp);
return;
}
head=p=q=(Word*)malloc(sizeof(Word));/* 將文件內(nèi)容放入鏈表 */
while(!feof(fp))
{
q=p;
p=(Word*)malloc(sizeof(Word));
fread(p,sizeof(Word),1,fp); /* 讀記錄 */
q->next=p;/ 20、* 新記錄插入到鏈表的尾 */
}
p->next=NULL;/* 最后一個結(jié)點的后繼為空 */
fclose(fp);
clrscr();
printf("Input the word: ");/* 輸入要刪除的單詞 */
gets(word); /* 輸入單詞 */
p=head;
while(p!=NULL)/* 按名字查找要刪除的圖書 */
{
if(strcmp(p->name,word)==0)/* 找到要刪除的單詞 */
{
if(p==head) /* 如果是第一個結(jié)點 */
head=head->next;
else
q->next=p->nex 21、t;/* 不是第一個結(jié)點 */
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("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
22、}
int main() {
int numble;
MENU:
顯示主菜單 */
printf("**************MENU***************\n\n"); /* printf("<<<< 1 English to Chinese>>>>\n\n");
printf("<<<< 2 Inser the word you want to add>>>>\n\n");
printf("<<<< 3 Del the existed word>>>> \n\n");
printf("<<<< 4 Clean the screen >>>>\n\n");
pri 23、ntf("<<<< 5 modify the existed word>>>\n\n");
printf("<<<<6 protect the system >>>>\n\n");
printf("<<<< 7 Exit the system>>>>\n\n");
printf(
”********************************
**\n");
do{
printf("Please choice form 1 to 7:\n"); /* 選擇你所要的功能 */
scanf("%d",&numble);
} 頁碼 9
while(numble 24、<0||numble>8);
switch(numble) {
case 1:
Search();
goto MENU;
case 2: addword(); goto MENU;
case 3: worddel();
goto MENU;
case 4: cleanscrean();
return 0;
case 5:
break;
case 6:
goto MENU;
break;
case 7: break;
}
return 0;
頁碼 10
7答辯記錄
在舁 廳P
問題
回 答
1
2
3
4
5
8指導(dǎo)教師意見
指導(dǎo)教師簽名:
頁碼 11
- 溫馨提示:
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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。