九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

c語(yǔ)言課程設(shè)計(jì)-電子英漢詞典(含源碼).doc

  • 資源ID:6588380       資源大?。?span id="24d9guoke414" class="font-tahoma">83KB        全文頁(yè)數(shù):16頁(yè)
  • 資源格式: DOC        下載積分:0積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開(kāi)放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要0積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫(xiě)的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付說(shuō)明:
本站最低充值0.01積分,下載本資源后余額將會(huì)存入您的賬戶,您可在我的個(gè)人中心查看。
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開(kāi),此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒(méi)有明確說(shuō)明有答案則都視為沒(méi)有答案,請(qǐng)知曉。

c語(yǔ)言課程設(shè)計(jì)-電子英漢詞典(含源碼).doc

C語(yǔ)言課程設(shè)計(jì) 軟件學(xué)院 指導(dǎo)老師: 學(xué)號(hào): 姓名:一、實(shí)驗(yàn)題目及要求題目:電子英漢詞典設(shè)計(jì)要求 : 1.用圖形用戶界面實(shí)現(xiàn) 2.能夠編輯詞典庫(kù)中的信息3.能夠?qū)崿F(xiàn)英譯漢,漢譯英。(要考慮一詞多義)二、實(shí)驗(yàn)過(guò)程 主要思想 : 1 建立詞典庫(kù)(相關(guān)文件的處理) 2 設(shè)計(jì)詞典圖形用戶界面 3 查找單詞及詞典的重復(fù)使用(實(shí)現(xiàn)一詞多義) 主要過(guò)程 1.詞典庫(kù)的建立:文件的建立,寫(xiě)入和調(diào)出參考老師給的FILE.C 文件 FILE.C大致內(nèi)容 FILE *fp/*建立文件指針*/ fp=fopen("d:list.txt","wb+");/*在指定路徑建立文本文件*/ for(i=0;i<SIZE;i+) /*將結(jié)構(gòu)體中的內(nèi)容 if(fwrite(&stui,sizeof(struct student),1,fp)!=1) 寫(xiě)進(jìn)指定文件中并進(jìn) printf("file write error!"); 行判斷是否寫(xiě)入*/ exit(0); fread(&stu_temp,sizeof(struct student),1,fp); /*將文件中的指定內(nèi)容調(diào)出*/ 單詞庫(kù)存儲(chǔ)在指定路徑的指定文件中方便后文的查詢和調(diào)出 單詞庫(kù)的建立利用結(jié)構(gòu)體可以包含一詞多義,并將漢譯英和英譯漢的詞典庫(kù)分 開(kāi)以便實(shí)現(xiàn)英漢互譯(在中文dos環(huán)境下運(yùn)行)圖例:(未在中文dos環(huán)境下運(yùn)行)2. 設(shè)計(jì)詞典圖形用戶界面 參考文件Graph.c 進(jìn)行圖形驅(qū)動(dòng) void init() int gdriver, gmode, i, j; gdriver = DETECT; registerbgidriver(EGAVGA_driver); initgraph(&gdriver, &gmode, ""); 圖例(未設(shè)置鼠標(biāo)前) 上網(wǎng)查找相關(guān)資料調(diào)用鼠標(biāo)鼠標(biāo)繪制函數(shù) 設(shè)置鼠標(biāo)指針位置函數(shù) 設(shè)置函數(shù)得到鼠標(biāo)左右鍵點(diǎn)擊的不同狀態(tài) (設(shè)置鼠標(biāo)后運(yùn)行結(jié)果全屏無(wú)法截圖) 在圖形界面下設(shè)計(jì)用戶界面并使用該鼠標(biāo)設(shè)置相關(guān)區(qū)域的鼠標(biāo)鍵點(diǎn)擊后得到不同的結(jié)果,進(jìn)入英譯漢或漢譯英界面 3. 查找單詞及詞典的重復(fù)使用(考慮一詞多義) 利用文件指針和函數(shù)fseek ,fread 對(duì)結(jié)構(gòu)體內(nèi)的單詞名稱查找和該相關(guān) 釋義的調(diào)用同時(shí)考慮英漢互譯 設(shè)置查找不到單詞的頁(yè)面和利用while語(yǔ)句使實(shí)現(xiàn)詞典是否需要重復(fù)使用 功能 圖例:三、實(shí)驗(yàn)結(jié)果及心得 根據(jù)題目描述基本達(dá)到題目要求。 在實(shí)驗(yàn)過(guò)程中對(duì)照老師給予的幫助程序和相關(guān)軟件不斷構(gòu)思得到大致的框架,不斷 的調(diào)試不斷的查詢函數(shù)用法的同時(shí)加深對(duì)c語(yǔ)言的認(rèn)識(shí),也許只是簡(jiǎn)單的一句話也許只 是簡(jiǎn)單的一個(gè)功能也是需要一個(gè)一個(gè)經(jīng)過(guò)深思熟慮的代碼敲打出來(lái)。 此次試驗(yàn)中了解圖形用戶界面,相關(guān)文件的存儲(chǔ)和調(diào)用,鼠標(biāo)的調(diào)用及使用等等平常沒(méi)有接觸到的c語(yǔ)言的知識(shí)。深深感受到c語(yǔ)言博大精深,將為以后的軟件方面知識(shí)的學(xué)習(xí)打下深刻的基礎(chǔ)。四、代碼(dictionary)#include <process.h>#include <stdlib.h> #include <stdio.h> #include <dos.h> #include <conio.h>#include <string.h>#include <graphics.h>#include <stdlib.h>#include <bios.h>#define SIZE 2 /*設(shè)置詞典的詞匯量*/#define NO_PRESSED 0 /*為讀取鼠標(biāo)的各個(gè)狀態(tài)*/#define LEFT_PRESSED 1#define RIGHT_PRESSED 2void DrawMouse(float x,float y);int setMousePos(int x,int y);int mouseStatus(int* x,int* y);void init();void box(int startx,int starty,int high,int width) ;struct word char name10; /*存儲(chǔ)英譯中詞典單詞名*/ char exp320; /*存儲(chǔ)英譯中詞典單詞釋義*/ char namm10; /*存儲(chǔ)中譯英詞典單詞名*/ char exx320; /*存儲(chǔ)英譯中詞典單詞釋義*/; /*創(chuàng)建存放單詞及其釋義的結(jié)構(gòu)體*/char buf20*20*4; /*設(shè)置緩存區(qū)*/main() char *f="Chinese-English Translation(中譯英)","English-Chinese Translation(英譯中)" int key,y,x; char u; int t=0,r; int o1SIZE; int o2SIZE; /*o1,o2數(shù)組用來(lái)儲(chǔ)存單詞的釋義數(shù)目*/ char seek10; /*存儲(chǔ)查詢功能時(shí)用戶輸入的單詞*/ int last_x,last_y; int x1,y1; int x0,y0; int m=0; struct word stuSIZE,stu_eg; /*為讀取文件中內(nèi)容設(shè)定的相關(guān)結(jié)構(gòu) 體變量*/ FILE *fp; /*定義文件指針*/ int i,j;fp=fopen("c:list.txt","wb+"); if(fp=NULL) printf("cannot open this filen"); exit(0); /*創(chuàng)建或打開(kāi)特定路徑的文件*/ for(i=0;i<SIZE;i+) puts("English word:"); scanf("%s",&stui.name); /*添加英譯中詞典中單詞名*/ u=y; /*字符變量u存儲(chǔ)用戶輸入的鍵盤(pán)值 查詢用戶是否需要添加釋義*/ j=0; /*變量j的數(shù)值能控制每個(gè)單詞釋義在 三個(gè)之內(nèi)*/ while(u=y&&j<=2) o1i=j; /*int類型數(shù)組o1記載每個(gè)單詞擁有的 釋義數(shù)*/ printf("Chinese explanation %d :",j+1); y=wherey(); scanf("%s",stui.expj); gettext(1,1,60,14,buf); if(j<2) printf("nanother explaination ? (nor y)n") ; getchar(); scanf("%c",&u); clrscr(); puttext(1,1,60,14,buf); gotoxy(1,y+2); j+; clrscr(); /*添加英譯中詞典中單詞*/ /*利用循環(huán)語(yǔ)句添加單詞釋義實(shí)現(xiàn)一次 多義功能 */ for(i=0;i<SIZE;i+) puts("中文單詞:"); scanf("%s",&stui.namm); u=y; j=0; while(u=y&&j<=2) o2i=j; printf("英文釋義 %d :",j+1); y=wherey(); scanf("%s",stui.exxj); gettext(1,1,60,14,buf); if(j<2) printf("n增加釋義 ? (nor y)n") ; getchar(); scanf("%c",&u); clrscr(); puttext(1,1,60,14,buf); gotoxy(1,y+2); j+; /*相關(guān)解釋同上文英譯漢詞典中注釋*/ /*添加中譯英詞典中單詞*/ clrscr(); for(i=0;i<SIZE;i+) if(fwrite(&stui,sizeof(struct word),1,fp)!=1) printf("file write error!"); exit(0); /*利用文件指針和fwrite語(yǔ)句將單詞存 放在指定打開(kāi)文件中/* window(1,1,80,25); gettext(20,10,40,14,buf); u=y; init(); x0=250; y0=250; /*設(shè)定鼠標(biāo)的初始位置*/ textbackground(15); textcolor(0); clrscr(); outtextxy(180,220,f0); /*在設(shè)定好的背景顏色和字體顏色下指 定位置輸出目錄文字*/ outtextxy(180,270,f1); setMousePos(x0,y0); setwritemode(1); DrawMouse(x0,y0); /*調(diào)用相關(guān)的鼠標(biāo)函數(shù)*/ last_x=x0; last_y=y0; line(170,210,470,210);line(170,240,470,240); line(170,260,470,260);line(170,290,470,290); line(170,210,170,240);line(470,210,470,240); line(170,260,170,290);line(470,260,470,290); /*設(shè)計(jì)界面相關(guān)文字的框框*/ while(m=0) m=0; while(mouseStatus(&x1,&y1) = NO_PRESSED&&m=0) if(last_x!=x1 && last_y!=y1) DrawMouse(last_x,last_y); DrawMouse(x1,y1); last_x=x1; last_y=y1; /*設(shè)計(jì)當(dāng)鼠標(biāo)坐標(biāo)移動(dòng)且沒(méi)有按下任 何鍵時(shí)鼠標(biāo)的移動(dòng)軌跡*/ while(!(mouseStatus(&x1,&y1)=NO_PRESSED) ) if(mouseStatus(&x1,&y1)=LEFT_PRESSED&&x1>170&&x1<470&&y1>210 && y1<240) m=1; break; if(mouseStatus(&x1,&y1)=LEFT_PRESSED&&x1>170&&x1<470&&y1>260 && y1<290) m=2; break; if(x1<170 |x1>470 |y1<210 | y1>290); /*設(shè)定鼠標(biāo)在界面內(nèi)一定區(qū)域進(jìn)行相關(guān)點(diǎn) 擊后實(shí)現(xiàn)的功能*/ restorecrtmode(); /*設(shè)計(jì)詞典的界面*/ while(u=y) /*利用u=y使詞典能重復(fù)使用*/ while(1) textbackground(3); textcolor(15); if(m=1) t=0; clrscr(); box(15,10,10,65); gotoxy(27,7); printf("English-Chinese Translation"); gotoxy(31,12); rewind(fp); printf("enter the word:"); gotoxy(31+strlen("enter the word:"),12);/ *設(shè)計(jì)英譯漢詞典查找功能 時(shí)的頁(yè)面*/ scanf("%s",seek); for(i=0;i<SIZE;i+) if(strcmp(stui.name,seek)=0) t=1; break; /*利用字符串strcmp函數(shù)實(shí)現(xiàn)查 找對(duì)比功能*/ if(t=1) /*如果找到相同單詞名令t=1,判 斷是否執(zhí)行下個(gè)步驟*/ fseek(fp,i*sizeof(struct word),0); fread(&stu_eg,sizeof(struct word),1,fp); gotoxy(31,15); for(j=0;j<=o1i;j+) if(j=0) printf("the explanation is :(%d) %s",j+1,stu_eg.expj); else gotoxy(31+strlen("the explanation is :"),15+j); printf("(%d) %s",j+1,stu_eg.expj); /*如果t=1,找到該單詞在文件中存儲(chǔ)的位置后,利用 循環(huán)結(jié)構(gòu),fseek和fread語(yǔ)句將其所有釋義調(diào)出, 循環(huán)的判斷次數(shù)取決o1數(shù)組內(nèi)相對(duì)應(yīng)的數(shù)字*/ for(i=0;i<SIZE;i+) for(r=0;r<=o2i;r+) if(strcmp(stui.exxr,seek)=0) t=2; break; /*如果找到相同單詞釋義令t=2,判 斷是否執(zhí)行下個(gè)步驟*/ if(t=2) break; if(t=2) rewind(fp); fseek(fp,(i)*sizeof(struct word),0); fread(&stu_eg,sizeof(struct word),1,fp); gotoxy(31,15); printf("the explanation is :(1) %s",stu_eg.namm); /*如果t=2在漢譯英詞典庫(kù)中找到相關(guān) 釋義并將其單詞名調(diào)出*/ if(t=0) gotoxy(31,15); printf("sorry,dont find it"); /*詞典庫(kù)中沒(méi)有此單詞則輸出 sorry,dont find it*/ getchar(); scanf("%c",&u) clrscr(); /*停頓使用戶看清結(jié)果*/ gotoxy(22,10); printf("Do you want use is again ?(n or y)"); gotoxy(35,14); printf("enter:"); gotoxy(35+strlen("enter:"),14); /*設(shè)計(jì)沒(méi)有查到單詞的界面*/ scanf("%c",&u); break; /*對(duì)u進(jìn)行賦值來(lái)判定用戶是 否需要重新使用詞典*/ if(m=2) t=0; clrscr(); gotoxy(38,7); printf("漢譯英"); box(20,10,10,60); gotoxy(35,12); rewind(fp); printf("輸入單詞:"); gotoxy(35+strlen("輸入單詞:"),12); scanf("%s",seek); for(i=0;i<SIZE;i+) if(strcmp(stui.namm,seek)=0) t=1; break; if(t=1) fseek(fp,i*sizeof(struct word),0); fread(&stu_eg,sizeof(struct word),1,fp); gotoxy(35,15); for(j=0;j<=o2i;j+) if(j=0) printf("釋義:(%d) %s",j+1,stu_eg.exxj); else gotoxy(35+strlen("釋義:"),15+j); printf("(%d) %s",j+1,stu_eg.exxj); for(i=0;i<SIZE;i+) for(r=0;r<=o2i;r+) if(strcmp(stui.expr,seek)=0) t=2; break; if(t=2) break; if(t=2) rewind(fp); fseek(fp,(i)*sizeof(struct word),0); fread(&stu_eg,sizeof(struct word),1,fp); gotoxy(35,15); printf("釋義:(1) %s",stu_eg.name); if(t=0) gotoxy(35,15); printf("對(duì)不起,沒(méi)有這個(gè)單詞"); getchar(); scanf("%c",&u); clrscr(); gotoxy(27,10); printf("重新查詢?(n or y)"); gotoxy(35,14); printf("輸入:"); gotoxy(35+strlen("輸入:"),14); scanf("%c",&u); break; /*相關(guān)注釋參考上文英譯中詞典*/ int mouseStatus(int* x,int* y) /*定義兩個(gè)寄存器變量,分別存儲(chǔ)入口參數(shù)和出口參數(shù)*/ union REGS inregs,outregs; int status; status=NO_PRESSED; /*入口參數(shù)AH3,讀取鼠標(biāo)位置及其按鈕狀態(tài)*/ inregs.x.ax=3; int86(0x33,&inregs,&outregs); /*CX表示水平位置,DX表示垂直位置*/ *x=outregs.x.cx; *y=outregs.x.dx; /*BX表示按鍵狀態(tài)*/ if(outregs.x.bx&1) status=LEFT_PRESSED; else if(outregs.x.bx&2) status=RIGHT_PRESSED; return (status);/*設(shè)置鼠標(biāo)指針位置函數(shù)*/int setMousePos(int x,int y) union REGS inregs,outregs; /*入口參數(shù)AH4,設(shè)置鼠標(biāo)指針位置*/ inregs.x.ax=4; inregs.x.cx=x; inregs.x.dx=y; int86(0x33,&inregs,&outregs);/*繪制鼠標(biāo)函數(shù)*/void DrawMouse(float x,float y) line(x,y,x+5,y+10); line(x,y,x+10,y+5); line(x+5,y+10,x+10,y+5); line(x+7,y+8,x+12,y+13); line(x+8,y+7,x+13,y+12); line(x+14,y+12,x+13,y+13); /*利用line函數(shù)一條一條繪制鼠標(biāo)形狀*/void init() /*進(jìn)行相關(guān)圖形驅(qū)動(dòng)*/ int gdriver, gmode, i, j; gdriver = DETECT; registerbgidriver(EGAVGA_driver); initgraph(&gdriver, &gmode, ""); void box(int startx,int starty,int high,int width) /*框框的建立*/ int i; gotoxy(startx,starty); putch(0xda); for (i=startx+1;i <width;i+) putch(0xc4); putch(0xbf); for(i=starty+1;i <high+starty;i+) gotoxy(startx,i); putch(0xb3); gotoxy(width,i); putch(0xb3); gotoxy(startx,starty+high-1); putch(0xc0); gotoxy(startx+1,starty+high-1); for(i=startx+1;i <width;i+) putch(0xc4); putch(0xd9); return;

注意事項(xiàng)

本文(c語(yǔ)言課程設(shè)計(jì)-電子英漢詞典(含源碼).doc)為本站會(huì)員(xin****828)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!