版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、通信工程C語言強化訓(xùn)練實驗報告學(xué)號:4110918姓名:諸葛逍遙提交日期:2012年7月4日成績:評 語:教師簽字:東北大學(xué)秦皇島分校計算機與通信工程學(xué)院題目:背單詞1概述該系統(tǒng)是幫助單詞背誦單詞的軟件,要求用戶可以選擇背誦的詞庫,并可以編輯 自己的詞庫,系統(tǒng)可以給出中文,讓單詞輸入其英文意思,也可輸出英文讓單詞 輸入中文意思。并判定詞義是否正確。如不正確給出提示并要求用戶重新輸入。 如正確給以鼓勵。還應(yīng)有詞語預(yù)覽功能?;竟δ埽?)詞庫的維護(hù)2)課程預(yù)覽3)顯示中文用戶輸入英文的背誦方法4)顯示英文用戶輸入中文的背誦方法5)背誦成績的記錄。2課程設(shè)計目的綜合訓(xùn)練單詞用C語言編程解決問題和處理
2、問題的能力,鞏固其對C語言課程內(nèi)容和 知識的掌握。3對課程設(shè)計的基本要求1)盡量多的應(yīng)用C語言中所學(xué)到的知識和語句2)課程設(shè)計前應(yīng)書寫開題報告主要內(nèi)容包括 (對題目的分析和對該課程設(shè)計的概要設(shè) 計)3)課程設(shè)計后應(yīng)交課程設(shè)計報告 ,和軟件原代碼及編譯后的應(yīng)用軟件4)課程設(shè)計最后一次上機實驗時檢查題目的完成情況5)課程設(shè)計中必須用到的內(nèi)容為a 文件的存取b 結(jié)構(gòu)體的使用c 數(shù)組的使用d 指針操作、開題報告1. 變量和結(jié)構(gòu)體說明1) 單詞信息的結(jié)構(gòu)體如下:typedef struct word/ 單詞的結(jié)構(gòu)體char enM_CHAR; / 英文形式char chM_CHAR; / 中文形式wor
3、d;2) 存放單詞的信息的變量如下 : word sM_NUM; / 單詞數(shù)組int num; / 單詞個數(shù)2. 概要設(shè)計1) 定義結(jié)構(gòu)體數(shù)組用來存放單詞的信息2) 單詞信息存放在 data.txt 中,文件格式如下: 單詞個數(shù)長度為 4 個字節(jié) 第 1 個單詞的信息 長度為sizeof(word)第 2 個單詞的信息 長度為sizeof(word)。第 n 個單詞的信息 長度為sizeof(word)3) 讀文件 data.txt 的過程如下:打開文件data.txt 用fope n函數(shù)(以mode指定的方式打開名為file name的文 件)先讀取單詞個數(shù),然后逐個讀取單詞的信息,采用 f
4、read 函數(shù)(從 fp 所指 定的文件中讀取長度為 size 的 n 個數(shù)據(jù)項,存到 pt 所指向的內(nèi)存區(qū))4) 寫文件 data.txt 的過程如下: 先寫入單詞個數(shù),然后逐個寫入單詞的信息,采用 fwrite 函數(shù)(把 ptr 所指向 的 n*size 個字節(jié)輸出的 fp 所指向的文件中)5) 刪除單詞和修改單詞信息的時候,都需要先輸入英文,從該英文找到單詞的位置6) 程序采用菜單的形式顯示,用戶可以輸入選擇進(jìn)行操作3. 樹型結(jié)構(gòu)模塊圖功能模塊圖如下:學(xué)生背單詞系統(tǒng)讀添修取加改文單單件詞詞信信信息息息刪顯匕 冃除示誦單單(詞詞中信信至息息英)匕 冃查寫誦詢?nèi)?成文英績件至信中息)rli5
5、. 操作說明1)本程序需要目錄下存在“ data.txt ”文件2)系統(tǒng)的菜單如下3)添加單詞信息的功能操作方法如下:I:語料任勢假理沒計謨單詞2吏bu g12 k焙*幫你背單詞矗凸令凸* ©1、添加單詞3、修改單詞冬刪除單詞4、顯示單詞5.背誦f中至英叭查詢咸績作者=訃班輛譌 請選擇您需蘿的操作序號"®按回車確認(rèn)。ffA#詞魚垂夬形杳八首半:4)刪除單詞信息的功能操作方法如下:幫禰背單詞1、添加單詞2,刪除單詞5、背誦£中至英氣背誦町英至中人查詢成績8,退岀4顯示單詞作者:41109班粵金簫頭修改單詞© ©請鶴箸評除的單詞中文形式:
6、狗Enter 1返回主菜單請選擇您需要的操作序號“-8)按回車確認(rèn)2IjII回* 爪各種任餐紅雖琴富if背單聞'iDebu12m.c于5)修改單詞信息的功能操作方法如下:»T:各科任務(wù)諄爰設(shè)訊背單Dbug123,exe-%©©1.添加單詞2.刪除單詞、修改單詞、背誦中至英4、顯示單詞、背誦(英至中7、查詢成績8、退岀©©©作者=牡諭班U海幫你背單詞請選掙您需要的操作序號“-恥按回車確認(rèn)。協(xié)要修改的單詞中文形式 堂詢正確的央支形式:horse 比竄詞正確葩苗門文形式馬 半:6)顯示單詞信息功能操作方法如下:”臥各種任倉俁理設(shè)計背
7、單朗Debu蟲12 土曲才幫你背單詞1S添加單詞氛修改單詞1背誦(中至英2、刪除單詞冬顯示單詞氣背誦丈英至中入查詢成績8、退出 作者:411旳班熊炫朱均袁 ©馬金坤汪婷需 © . 請選擇您需要的操作序號"-的按回車確認(rèn).中豬樂好怦詞 英文pis happy bello7)顯示單詞背誦(中至英)功能操作方法如下:1、回答正確2、回答錯誤單詞單詞作者冃:幫你背幫你背型1陽班態(tài)炫8)顯示單詞背誦(英至中)功能操作方法如下:辿各種任埶澳理設(shè)11'背單訶亡肘1、制單詞3、修改單詞4顯示單詞%請選擇您需要的操作序號C1-8J®回車確認(rèn)。氣背誦£中至
8、英J查詢成績I背誦£英至中)8退岀2.刪除單詞© ©【happy】請輸入中文信息,快樂矗喜你.回答正確,加邁分?Enter 3繼續(xù)輸入7 Enter 1返回主菜單 半:狄刪除單詞紙顯示單詞、背誦£英至中?、查詢成績:hanlwo1添加單詞3修改單詞“背誦哺中至英作者=5 3J請選擇您需要的操作序號1-8回車確認(rèn).© ©©9)成績查詢的功能操作方法如下: Q) 作者:熊炫卷均我 鳥金坤比婷需 長*長*占*磊女*pt!VA'A*£r長*長啟請選S您需要的操作序號"-”按回車確認(rèn)。押+瓠人宜誤:3松Y軟
9、和104嚴(yán)欄匸轍正祜:12 S和每謝n 1 «v*«稱鈿嵐得分另許吩Enter 1返回三菜單半;幫你背旦詞責(zé)*嗇遵貴責(zé)竟噪*ft*盤條烹K稼加單詞冬刪除單詞3修改里詞4.顯示單詞S.背誦中至英鎂背誦(英至粧J杏詢成績?nèi)?、退?. 課程詳細(xì)代碼:#in elude <stdio.h> #in elude <stri ng.h>#i nclude <stdlib.h>#defi ne M_CHAR 20 /最大字符#defi ne M_NUM 100 /單詞的最大個數(shù)int c=O,d=O;統(tǒng)分變量typedef struct word/單詞
10、的結(jié)構(gòu)體 char en M_CHAR; /英文形式char chM_CHAR; /中文形式word;word sM_NUM; /單詞數(shù)組int num; /單詞個數(shù)void read_from_file()/從文件中讀取單詞的信息FILE *fp;int i=0;fp=fopen("data.txt","rb");/if(!fp)printf(" 打開文件 data.txt return ;fread(&num,1,sizeof(num),fp); / for(i=0;i<num;i+) fread(&si,1,size
11、of(word),fp); / fclose(fp);/ 關(guān)閉文件void write_to_file()/ 向文件中輸入單詞的信息FILE *fp;int i=0;fp=fopen("data.txt","wb+");/ 置函數(shù)設(shè)置讀和寫的起始位置 if(!fp)printf(" 打開文件 data.txt return ;fwrite(&num,1,sizeof(num),fp); /for(i=0;i<num;i+)fwrite(&si,1,sizeof(word),fp); / fclose(fp);/以 rb (
12、為讀而打開一個二進(jìn)制文件)打開 data.txt 文件失敗 !n");先讀取單詞的個數(shù)讀取每個單詞的信息存放到結(jié)構(gòu)體"wb+”建立一個新文件,進(jìn)行寫操作,隨后讀和寫可以由位失敗 !n");先寫入單詞的個數(shù)寫入每個單詞的信息關(guān)閉文件添加單詞信息void add_infor()/ int a,i=num;:");printf(" 請輸入單詞的英文形式 scanf("%s",si.en);printf(" 請輸入單詞的中文形式 :");scanf("%s",si.ch);num+;print
13、f(" 您輸入的信息為 : 英文 : %s n 中文 : %s n Enter 0 繼續(xù)輸入 ; Enter 1 返回 主菜單 ",si.en,si.ch); void del_infor()/ 刪除單詞信息int i=0,j=0;char chM_CHAR; / 中文形式 printf(" 請輸入你要刪除的單詞中文形式 :"); scanf("%s",ch);和 str2)for(i=0;i<num;i+)/ 先找到該中文形式對應(yīng)的序號 if(strcmp(si.ch,ch)=0)/strcmp( 比較兩個字符串 str1 f
14、or(j=i;j<num-1;j+) sj=sj+1;num-; / 數(shù)量減少 1printf(" 刪除成功 !n Enter 1 返回主菜單 "); return;printf(" 沒有這個單詞 !"); printf("Enter Enter 1 返回主菜單 ");void modify_infor()/ 修改單詞信息int i=0;char chM_CHAR; / 中文形式 printf(" 請輸入你要修改的單詞中文形式 :"); scanf("%s",ch);for(i=0;i&l
15、t;num;i+)/ 先找到該中文形式對應(yīng)的序號 if(strcmp(si.ch,ch)=0)printf(" 請輸入單詞正確的英文形式 :"); scanf("%s",si.en);printf(" 請輸入此單詞正確的的中文形式 :"); scanf("%s",si.ch);printf(" 修改成功 !n Enter 1 返回主菜單 "); return;printf(" 沒有這個單詞 !"); printf("Enter Enter 1返回主菜單 "
16、);void show_infor()int i=0;printf(" 單詞: 英文 中文 n"); for(i=0;i<num;i+)printf(" %10s%10sn",si.en,si.ch); printf("Enter Enter 1返回主菜單 ");void search_infor()/ 查詢單詞int i=0;char chM_CHAR; / 中文形式printf(" 請輸入你要查詢的單詞中文形式 :"); scanf("%s",ch);for(i=0;i<num;
17、i+)/ 先找到該中文形式對應(yīng)的序號 if(strcmp(si.ch,ch)=0)printf(" 英文形式 中文形式 n"); printf("%10s%12sn",si.en,si.ch);return;printf(" 沒有這個中文形式 !"); printf("Enter Enter 1 返回主菜單 ");void ch_to_en_infor()char b120;int z;int i;i = rand()%num;prin tf(”【s】請輸入英文單詞:",si.ch);scanf(&quo
18、t;%s",b1);for(z=0;strcmp(b1,si.en)!=0;z=z)printf("輸入錯誤!請重新輸入 :");scanf("%s",b1);c=c+1;printf("n 恭喜你,回答正確,加 10 分 !nn");d=d+1;printf("Enter 2 繼續(xù)輸入 ; Enter 1 返回主菜單 ",si.en,si.ch); void en_to_ch_infor()char b120;int z,x=41;int i;i = rand()%num;prin tf("
19、【SI請輸入中文意思:",si.e n); scanf("%s",b1);for(z=0;strcmp(b1,si.no)!=0;z=z)printf("輸入錯誤!請重新輸入 :");scanf("%s",b1);c=c+1;printf("n 恭喜你,回答正確,加10 分 !nn");d=d+1;printf("n Enter 3繼續(xù)輸入 ; Enter 1 返回主菜單 ",si.en,si.no);void chengji_infor()printf("n共計輸入錯誤pr
20、intf("共計輸入正確printf("你的總得分為%d次 *每次扣10分*n",c);%d次 *每次加10分*n",d);%d 分nn",10*d-10*c);printf("Enter Enter 1返回主菜單 ");void show_main_menu()System( “color 2f ” );System( “mode con cols=100 lines=40” );printf("n");printf("n");printf("n");printf
21、(" 幫 你 背 單 詞 n");printf("n");printf("n");printf("n");printf("n");printf("1、添加單詞2、刪除單詞n");printf("n");printf("3、修改單詞4、顯示單詞n");printf("n");printf("5、背誦 ( 中至英 )6、背誦 (英至中 )n");printf("n");printf
22、("7、查詢成績8、退出n");printf("n");printf("/n");/ printf("n");printf("作者 : 41109 班 熊 炫 朱均安n");printf("馬金坤 汪婷靜n");printf("n");printf(" n"); / 用戶界面printf("n");printf(" 請選擇您需要的操作序號 (1-8) 按回車確認(rèn) :");int main()int
23、 a,choose=0;num=0;/ 初始化單詞個數(shù)為 0read_from_file(); / 讀取文件 show_main_menu(); scanf("%d",&choose);printf("n");while(choose!=8)switch(choose)case 1:add_infor();break;case 2:del_infor();break;case 3: modify_infor();break;case 4:show_infor();break;case 5:ch_to_en_infor();break; case 6:en_to_ch_infor();break;case 7:chengji_infor();break;while (a<10000)scanf("%d",&a);if(a=0)write_to_file();add_infor();if(a=1)printf("n");write_to_file();main();printf("n")
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)學(xué)心理學(xué)模擬練習(xí)題(附答案)
- 臨床醫(yī)學(xué)概論(內(nèi)科)試題庫與參考答案
- 昭通買房合同范例
- 2025年銀川貨運從業(yè)資格證題庫答案
- 2025年防城港貨運資格證試題及答案
- 電梯監(jiān)控安裝勞務(wù)合同范例
- 油田開發(fā)征地合同范例
- 小型超市出租合同范例
- 電力維修家政服務(wù)合同范例
- 建造水池合同范例
- 年產(chǎn)5億粒藿香正氣膠囊車間工藝設(shè)計.文檔
- 第17課《昆明的雨》課件(共35張)
- 多發(fā)性骨折的護(hù)理
- 2023-2024學(xué)年北京市海淀區(qū)七年級(上)期末數(shù)學(xué)試卷(含解析)
- 五官科醫(yī)院感染管理
- 規(guī)劃設(shè)計方案審批全流程
- 2024年考研政治試題及詳細(xì)解析
- 2024年03月遼寧建筑職業(yè)學(xué)院招考聘用17人筆試歷年(2016-2023年)真題薈萃帶答案解析
- 酒店強電主管述職報告
- 2023版道德與法治教案教學(xué)設(shè)計專題7 第1講 社會主義法律的特征和運行
- 虛擬電廠總體規(guī)劃建設(shè)方案
評論
0/150
提交評論