




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
綜合性程序設(shè)計(jì)匯報(bào)設(shè)計(jì)題目:背單詞系統(tǒng)指導(dǎo)老師:XXX班級(jí):學(xué)號(hào):設(shè)計(jì)者:XXX成績(jī):_______________設(shè)計(jì)時(shí)間:年月日[題目描述]使用C語言設(shè)計(jì)一個(gè)背單詞系統(tǒng),該系統(tǒng)是幫助學(xué)生背誦單詞軟件,要求用戶能夠選擇背誦詞庫,并能夠編輯自己詞庫。系統(tǒng)能夠給出漢字,讓學(xué)生輸入其英文意思,也可輸出英文讓學(xué)生輸入漢字意思。并判定詞義是否正確。如不正確給出提醒并要求用戶重新輸入。如正確給以激勵(lì)。還應(yīng)有詞語預(yù)覽功效。基礎(chǔ)功效:詞庫維護(hù)(單詞添加、修改、刪除)課程預(yù)覽(單詞展示)顯示漢字用戶輸入英文背誦方法顯示英文用戶輸入漢字背誦方法背誦成績(jī)統(tǒng)計(jì)(本程序設(shè)計(jì)運(yùn)行一次程序所背誦全部單詞,答對(duì)一個(gè)得10分,打錯(cuò)一個(gè)扣5分)[功效模塊分解及說明]樹形結(jié)構(gòu)模塊圖模塊功效概述程序概述:設(shè)計(jì)錄入詞庫結(jié)構(gòu)體,結(jié)構(gòu)體中分別存放英文和漢字,整個(gè)程序基礎(chǔ)上就是相關(guān)結(jié)構(gòu)體操作,其中包含了次序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、選擇結(jié)構(gòu)。單詞添加:用戶自己輸入單詞和翻譯,存入結(jié)構(gòu)體中。單詞修改:首先在詞庫中找到這個(gè)單詞(假如沒有則提醒用戶沒有該單詞),然后用戶輸入修改后單詞及翻譯。單詞刪除:先在詞庫中找到單詞,然后將這個(gè)單詞以后全部單詞順次前移,實(shí)現(xiàn)刪除功效。輸出詞庫:輸出結(jié)構(gòu)體存放單詞。單詞測(cè)試:用戶首先選擇測(cè)試模式,然后詞庫中輸出現(xiàn)有單詞,用戶期望結(jié)束時(shí)輸出“jieshu”,而且在這兩個(gè)函數(shù)中計(jì)分。顯示成績(jī):輸出測(cè)試成績(jī)。[設(shè)計(jì)測(cè)試說明]相關(guān)頭文件、變量、結(jié)構(gòu)體說明1、頭文件#include<stdio.h>#include<stdlib.h>#include<string.h>2、宏定義#defineN100#defineS203、全局結(jié)構(gòu)體structwords//定義一個(gè)words結(jié)構(gòu)體{ chare[S];//存放英語單詞 charc[S];//對(duì)應(yīng)漢語翻譯}str[N];//定義結(jié)構(gòu)體變量4、全局變量intfenshu=0;//全局變量,用于統(tǒng)計(jì)分?jǐn)?shù)intcount1=0;//全局變量,用于統(tǒng)計(jì)測(cè)試單詞個(gè)數(shù)intp=0;//全局變量,用于統(tǒng)計(jì)單詞個(gè)數(shù)二、程序源代碼(函數(shù)部分和系統(tǒng)使用截圖)1、主函數(shù)intmain(){intn;charch,chioch; printf("\n");printf("\t***********************************************\n");printf("\t**歡迎使用背單詞系統(tǒng)!**\n");printf("\t**設(shè)計(jì)者:郭鑫鋼**\n"); printf("\t**班級(jí):31342學(xué)號(hào):3134205**\n");printf("\t***********************************************\n");printf("\t**1、單詞添加2、單詞刪除**\n"); printf("\t**3、單詞修改4、單詞展示**\n"); printf("\t**5、英譯漢6、漢譯英**\n"); printf("\t**7、成績(jī)查詢8、退出系統(tǒng)**\n"); printf("\t***********************************************\n");printf("請(qǐng)選擇您需要操作序號(hào)<1-6>,按回車結(jié)束:");while(1) { scanf("%d",&n); switch(n) {//實(shí)施對(duì)應(yīng)函數(shù),實(shí)現(xiàn)對(duì)應(yīng)功效 case1:tianjia();break; case2:shanchu();break; case5:fanyi1();break; case3:xiugai();break; case4:shuchu();break; case6:fanyi2();break; case7:chengji();break; case8:{ printf("你確定要退出嗎?y/n!!\n"); scanf("%c%c",&ch,&chioch); if(ch=='y'||ch=='Y') exit(0); }//退出系統(tǒng)操作 default:printf("你輸入了錯(cuò)誤操作,無法實(shí)施!"); exit(0); } } return0;}2、往詞庫中添加詞匯voidtianjia(){charch;do{printf("錄入詞庫!\n");printf("請(qǐng)輸入英語單詞:\n");scanf("%s",str[p].e);printf("\n請(qǐng)輸入對(duì)應(yīng)漢字翻譯:\n");scanf("%s",str[p].c);p++;printf("%s已保留,是否繼續(xù)錄入?y/n!\n",str[p].e);scanf("%s",&ch);}while(ch=='y');printf("您一共錄入%d個(gè)單詞\n",p);}3、刪除詞庫中單詞voidshanchu(){ inti=0,j; chars[20]; printf("輸入您想刪除單詞:");scanf("%s",s); if(p<=0) { printf("沒有任何單詞,無法刪除!\n"); return; } else { for(i=0;i<p;i++) { if(strcmp(s,str[i].e)==0) {printf("已經(jīng)成功刪除!\n"); for(j=i;j<p;j++) { str[j]=str[j+1]; p--; } }//循環(huán)實(shí)現(xiàn)單詞覆蓋 elseif(i==p) printf("沒有找到您要?jiǎng)h除單詞!\n"); } }}4、修改詞庫中單詞voidxiugai(){ inti=0; chars[S],y[S],z[S]; printf("輸入您想修改單詞:");scanf("%s",s); if(p<=0) { printf("沒有任何單詞,無法刪除!\n"); return; } else { for(i=0;i<p;i++) { if(strcmp(s,str[i].e)==0) { printf("請(qǐng)輸入您修改后英文單詞:"); scanf("%s",y); strcpy(str[i].e,y); printf("請(qǐng)輸入您修改后漢字翻譯:"); scanf("%s",z); strcpy(str[i].c,z);printf("已經(jīng)成功修改!\n"); } else printf("沒有找到您要修改單詞!\n"); } }}5、輸出詞庫中全部單詞voidshuchu(){ inti=0; printf("輸出詞庫中全部單詞!\n"); if(p<=0) { printf("沒有任何單詞,無法輸出!\n"); return; } else { for(i=0;i<p;i++) { printf("英文單詞是:%s",str[i].e); printf("\n對(duì)應(yīng)漢字意思是:%s\n",str[i].c); } printf("詞庫全部單詞輸出完成!\n"); }}6、顯示英文用戶輸入漢字背誦方法voidfanyi1(){ inti=0; charf[S]; charover[N]="jieshu";printf("請(qǐng)輸入下面英文單詞翻譯,期望結(jié)束輸入時(shí)請(qǐng)輸入jieshu\n");//次序輸出單詞,而且能夠隨時(shí)結(jié)束while(i<p&&strcmp(f,over)!=0)//用戶不輸入jieshu而且詞庫中單詞沒有全部輸出時(shí)實(shí)施循環(huán) { printf("%s",str[i].e); scanf("%s",&f); if(strcmp(str[i].c,f)==0) { printf("正確!\n"); fenshu+=10;//用于計(jì)算分?jǐn)?shù) } else { printf("很遺憾,正確翻譯為:"); printf("%s\n",str[i].c); fenshu-=5;//用于計(jì)算分?jǐn)?shù) } count1++; i++; } }7、顯示漢字用戶輸入英文背誦方法voidfanyi2(){ inti=0; charf[S]; charover[N]="jieshu";printf("請(qǐng)輸入下面英文單詞翻譯,期望結(jié)束輸入時(shí)請(qǐng)輸入jieshu\n");while(i<p&&strcmp(f,over)!=0) { printf("%s",str[i].c); scanf("%s",&f); if(strcmp(str[i].e,f)==0) { printf("正確!\n"); fenshu+=10; } else { printf("很遺憾,正確翻譯為:"); printf("%s\n",str[i].e); fenshu-=5; } count1++; i++; } }8、顯示測(cè)試結(jié)果和成績(jī)voidchengji(){ printf("此次測(cè)試成績(jī)是:\n"); printf("總共:%d個(gè)\n",count1); printf("正確:%d個(gè)\n",fenshu); printf("最終得分為(答對(duì)一個(gè)得10分,答錯(cuò)一個(gè)扣5分):%d\n",fenshu);}[設(shè)計(jì)體會(huì)]在看到我選題后,剛開始有點(diǎn)蒙。然后看到要求說必需用到文件,可是文件還沒有學(xué),所以我決定先看看文件那部分內(nèi)容。大約煩了一遍書以后,我去圖書館找了基礎(chǔ)C語言項(xiàng)目實(shí)例書籍,里面好多實(shí)例全部給了我很大啟發(fā)。以后我就開始著手寫我程序。剛開始我仿照一本書里有相關(guān)商品信息管理程序來寫。里面包含大量文件操作,使得我有時(shí)候看不懂甚至摸不著頭腦。迫于時(shí)間上要求,我不得不放棄已經(jīng)寫了200多行程序,開始換個(gè)思緒來考慮程序??紤]到我自己對(duì)結(jié)構(gòu)體還是比較熟悉,所以我想到不使用文件而是直接將單詞存放進(jìn)結(jié)構(gòu)體中。然后整個(gè)程序就是對(duì)結(jié)構(gòu)體一系列操作。在寫刪除單詞這個(gè)函數(shù)中,我碰到了困難,剛開始沒有想到數(shù)據(jù)覆蓋這么一個(gè)措施,用了好多很笨方法不過還沒有出效果。最終偶然間在網(wǎng)上看到了相關(guān)一片指針覆蓋博客,然后我就想到了這種處理措施,果然奏效了!經(jīng)過這次C語言課程設(shè)計(jì),我深深體會(huì)到了一門語言深?yuàn)W,是值得我去好好學(xué)習(xí)和深入研究。就拿這個(gè)程序中多個(gè)小小細(xì)節(jié),比如:while(i<p&&strcmp(f,over)!=0)。這個(gè)是我在寫測(cè)試兩個(gè)函數(shù)時(shí)候碰到一個(gè)小問題。我不知道應(yīng)該怎么去寫這個(gè)循環(huán)條件,最終我讓一位同學(xué)看過我程序后,幫我處理了這個(gè)問題。即使只是多個(gè)簡(jiǎn)單語句結(jié)合,不過真是很巧妙。所以,經(jīng)過這次課
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 南京農(nóng)業(yè)大學(xué)《商務(wù)應(yīng)用文寫作》2023-2024學(xué)年第二學(xué)期期末試卷
- 吉利學(xué)院《電波傳播概論雙語》2023-2024學(xué)年第二學(xué)期期末試卷
- 河北東方學(xué)院《數(shù)字信號(hào)處理課程設(shè)計(jì)實(shí)訓(xùn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 香港科技大學(xué)(廣州)《新藥研發(fā)的關(guān)鍵技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 武漢電力職業(yè)技術(shù)學(xué)院《創(chuàng)新思維與教育創(chuàng)新創(chuàng)業(yè)》2023-2024學(xué)年第二學(xué)期期末試卷
- 昆玉職業(yè)技術(shù)學(xué)院《混凝土結(jié)構(gòu)與性能A》2023-2024學(xué)年第二學(xué)期期末試卷
- 醫(yī)用紅外熱像儀項(xiàng)目效益評(píng)估報(bào)告
- Unit 5 The Monarch's Journey Understanding ideas 教學(xué)設(shè)計(jì)-2024-2025學(xué)年高中英語外研版(2019)必修第一冊(cè)
- 漳州城市職業(yè)學(xué)院《模式識(shí)別技術(shù)應(yīng)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖南民族職業(yè)學(xué)院《化工軟件概論》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年中考數(shù)學(xué)二輪專題復(fù)習(xí) 題型四-二次函數(shù)圖象與性質(zhì)綜合題
- 春節(jié)申遺成功的意義
- 上海市黃浦區(qū)2022-2023學(xué)年九年級(jí)上學(xué)期期末化學(xué)試卷(一模)
- 子女放棄繼承房產(chǎn)協(xié)議書
- 施工方案與技術(shù)措施合理性、科學(xué)性與可行性
- 小學(xué)體育課件《立定跳遠(yuǎn)課件》課件
- 《生物經(jīng)濟(jì)學(xué)》課程教學(xué)大綱
- 2018中國技能?賽全國選拔賽“3D數(shù)字游戲藝術(shù)”項(xiàng)?技能樣題
- 家庭清潔課件教學(xué)課件
- 2024-2025學(xué)年北師版八年級(jí)生物上學(xué)期 第18章 生物圈中的微生物(知識(shí)清單)
- 2024年重慶客運(yùn)駕駛員考試卷及答案
評(píng)論
0/150
提交評(píng)論