




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上Linux綜合性實(shí)驗(yàn)報(bào)告一 實(shí)驗(yàn)題目:基于GTK+的單詞數(shù)值計(jì)算器二 實(shí)驗(yàn)任務(wù)要求:1、按照規(guī)則計(jì)算單詞的值,如果A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 26個(gè)字母(全部用大寫)的值分別為 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 ,如WINJACK這個(gè)單詞的值就為W+I+N+J+A+C+K=23+9+14+10+1+3+11=71%HARDWORK= H+A+R+D+W+O+R+K = 8+1+18+4+23
2、+15+18+11 = 98%KNOWLEDGE=K+N+O+W+L+E+D+G+E = 11+14+15+23+12+5+4+7+5 = 96%LOVE=L+O+V+E=12+15+22+5=54%LUCK=L+U+C+K = 12+21+3+11 = 47%ATTITUDE=A+T+T+I+T+U+D+E = 1+20+20+9+20+21+4+5 = 100%2、程序的界面布局參考如下圖,在第一個(gè)單行文本框輸入一單詞,點(diǎn)擊“計(jì)算”按鈕,按照以上算法計(jì)算出該單詞的值。3、如果在最下面的單行文本框輸入一個(gè)文件路徑,此文件每行記錄一個(gè)單詞,那么經(jīng)過(guò)程序計(jì)算出各個(gè)單詞的值,并把結(jié)果輸出到當(dāng)前目錄
3、下result.txt文件中。如果文件不存在,應(yīng)該提示錯(cuò)誤。三 程序代碼:#include <gtk/gtk.h>#include <string.h>#include <stdlib.h>#include <stdio.h>GtkWidget *entry_value; GtkWidget *entry_file_path;GtkWidget *label_error;int get_value(char *String )/get the world's value int i,value=0,length = strlen(Stri
4、ng);for(i=0;i<length;i+)value=value+Stringi-64; /'A'=1return value;void button_ok_clicked(GtkWidget *widget,gpointer data) /the event action when /button_on was clickedconst char *input_file;/text of entry_file_pathFILE *source,*result;/pointer of source file and result filechar temp,arra
5、y100100; /source wordsint i,j,length;input_file=gtk_entry_get_text(GTK_ENTRY(GtkWidget *)data);/get file pathg_print("%sn",input_file);source=fopen(input_file,"r");if(!source)g_print("The file is not exist!");return;gtk_label_set_text(GTK_LABEL(GtkWidget *)label_error),
6、error_message);/if file can not be found show error messageelse g_print("success!");gtk_label_set_text(GTK_LABEL(GtkWidget *)label_error),success_message);for(i=0;i+)for(j=0;j+)temp = fgetc(source);if(temp=10)arrayij = '0'break;else if(temp=EOF)break;else arrayij=temp;if(temp=EOF)b
7、reak;length = i;result=fopen("/root/result.txt","w+");for(i=0;i<length;i+)g_print("%sn",arrayi);fprintf(result,"%dn",get_value(arrayi);fclose(result);fclose(source);void on_delete(GtkWidget *window,GdkEvent *event,gpointer data) /quit from main gtk_main_qui
8、t();void button_computing_clicked(GtkWidget *widget,gpointer data) /compute the value of thd word that was input in dataconst char *input_text;const char *output_text; input_text = gtk_entry_get_text(GTK_ENTRY(GtkWidget *)data);/get the word sprintf(output_text,"%d",get_value(input_text);/
9、get value of word and chang to String format gtk_entry_set_text(GTK_ENTRY(GtkWidget*)entry_value),output_text); /show the value on entry_valueint main(int argc,char * argv)GtkWidget *window;GtkWidget *label;GtkWidget *label_input;GtkWidget *label_value;GtkWidget *label_file_path;GtkWidget *entry_inp
10、ut;GtkWidget *button_computing;GtkWidget *button_ok;GtkWidget *vbox; GtkWidget *hbox_1;GtkWidget *hbox_2;GtkWidget *hbox_3;GtkWidget *hbox_4;GtkWidget *hbox_5;gtk_init(&argc,&argv);window = gtk_window_new(GTK_WINDOW_TOPLEVEL);gtk_window_set_title(GTK_WINDOW(window),"Value of Word!"
11、);gtk_container_set_border_width(GTK_CONTAINER(window),10);g_signal_connect(G_OBJECT(window),"delete_event",G_CALLBACK(on_delete),NULL);label_input = gtk_label_new("請(qǐng)輸入單詞:");label_value = gtk_label_new("該單詞的值");label_file_path = gtk_label_new("請(qǐng)輸入文件路徑:");label
12、_error = gtk_label_new("");button_computing = gtk_button_new_with_label("計(jì)算");button_ok = gtk_button_new_with_label("確定");entry_input = gtk_entry_new();entry_value = gtk_entry_new();entry_file_path = gtk_entry_new();vbox = gtk_vbox_new(FALSE,5);hbox_1 = gtk_hbox_new(TRU
13、E,2);hbox_2 = gtk_hbox_new(TRUE,2);hbox_3 = gtk_hbox_new(TRUE,2);hbox_4 = gtk_hbox_new(TRUE,2);hbox_5 = gtk_hbox_new(TRUE,2);gtk_box_pack_start(GTK_BOX(hbox_1),label_input,TRUE,TRUE,0);gtk_box_pack_start(GTK_BOX(hbox_1),gtk_label_new(""),TRUE,FALSE,0);gtk_box_pack_start(GTK_BOX(hbox_2),ent
14、ry_input,TRUE,FALSE,0);gtk_box_pack_start(GTK_BOX(hbox_2),button_computing,TRUE,TRUE,0);gtk_box_pack_start(GTK_BOX(hbox_3),label_value,TRUE,FALSE,0);gtk_box_pack_start(GTK_BOX(hbox_3),entry_value,TRUE,FALSE,0);gtk_box_pack_start(GTK_BOX(hbox_4),label_file_path,TRUE,FALSE,0);gtk_box_pack_start(GTK_BO
15、X(hbox_4),gtk_label_new(""),TRUE,FALSE,0);gtk_box_pack_start(GTK_BOX(hbox_5),entry_file_path,TRUE,FALSE,0);gtk_box_pack_start(GTK_BOX(hbox_5),button_ok,TRUE,TRUE,0);gtk_box_pack_start(GTK_BOX(vbox),hbox_1,TRUE,FALSE,0);gtk_box_pack_start(GTK_BOX(vbox),hbox_2,TRUE,FALSE,0);gtk_box_pack_star
16、t(GTK_BOX(vbox),hbox_3,TRUE,FALSE,0);gtk_box_pack_start(GTK_BOX(vbox),gtk_label_new(""),TRUE,FALSE,0);gtk_box_pack_start(GTK_BOX(vbox),hbox_4,TRUE,FALSE,0);gtk_box_pack_start(GTK_BOX(vbox),hbox_5,TRUE,FALSE,0);gtk_box_pack_start(GTK_BOX()vbox,label_error,TRUE,FALSE,0);g_signal_connect(G_OB
17、JECT(button_computing),"clicked",G_CALLBACK(button_computing_clicked),entry_input);g_signal_connect(G_OBJECT(button_ok),"clicked",G_CALLBACK(button_ok_clicked),entry_file_path);gtk_container_add(GTK_CONTAINER(window),vbox);gtk_widget_show_all(window);gtk_main();return 0;四 程序說(shuō)明及流程
18、圖:A、全局變量:GtkWidget *entry_value; /輸入單詞用的文本框GtkWidget *entry_file_path;/輸入文件名用的文本框GtkWidget *label_error;/顯示成功或錯(cuò)誤信息用的label部件B、相關(guān)函數(shù)說(shuō)明:int get_value(char *String );/計(jì)算給定單詞的值void button_ok_clicked(GtkWidget *widget,gpointer data)/ok按鈕按下void on_delete(GtkWidget *window,GdkEvent *event,gpointer data);/程序退出 void button_computing_clicked(GtkWi
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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)遺數(shù)字化保護(hù)-洞察及研究
- 運(yùn)動(dòng)促進(jìn)組織再生-洞察及研究
- 土地規(guī)劃實(shí)施監(jiān)測(cè)-洞察及研究
- 冷水機(jī)組效率-洞察及研究
- 自監(jiān)督學(xué)習(xí)與藝術(shù)生成-洞察及研究
- 聚合物吸附劑設(shè)計(jì)-洞察及研究
- 三維建模工具-洞察及研究
- 密碼子優(yōu)化與蛋白表達(dá)-洞察及研究
- 海水堿度動(dòng)態(tài)變化-洞察及研究
- 生態(tài)農(nóng)業(yè)股權(quán)合作免責(zé)條款及可持續(xù)發(fā)展協(xié)議
- 脛骨骨折課件
- 人教版(2024新版)九年級(jí)上冊(cè)化學(xué):第四單元 課題3《物質(zhì)組成的表示》教案教學(xué)設(shè)計(jì)
- 四川省高職單招餐飲類《中式烹飪技藝》復(fù)習(xí)備考試題庫(kù)-上(選擇題)
- 《建筑施工測(cè)量標(biāo)準(zhǔn)》JGJT408-2017
- 鋼結(jié)構(gòu)廠房施工組織設(shè)計(jì)
- ups電源維修合同范本
- 農(nóng)業(yè)標(biāo)準(zhǔn)化與產(chǎn)業(yè)質(zhì)量提升
- 國(guó)家基本藥物(中成藥)臨床應(yīng)用指南
- 古風(fēng)圍棋介紹
- 軍事理論-綜合版智慧樹知到期末考試答案章節(jié)答案2024年國(guó)防大學(xué)
- 2022-2023學(xué)年上海市徐匯區(qū)高一下學(xué)期期末考試數(shù)學(xué)試題(解析版)
評(píng)論
0/150
提交評(píng)論