资源描述:
《linux课程设计代码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、//my_define.h#include#include#includeconstchar*my_window_title;GtkWidget*input_words_label;GtkWidget*dialog;GtkWidget*input_dir_label;GtkWidget*answer_label;GtkWidget*input_words_entry;GtkWidget*input_dir_entry;GtkWidget*answer_entry;GtkWidge
2、t*btn_cal_words;GtkWidget*btn_cal_dir;GtkWidget*table;GtkWidget*window;voidlayout_ctrls();voiddis_answer(GtkWidget*widget,gpointerdata);voidout_answer(GtkWidget*widget,gpointerdata);#endifvoiddis_answer(GtkWidget*widget,gpointerdata){constchar*words,*answer;intsum=0,i,len
3、;words=gtk_entry_get_text(GTK_ENTRY(input_words_entry));len=strlen(words);for(i=0;i='A'&&words[i]<='Z')sum+=words[i]-'A'+1;}answer=(char*)g_strdup_printf("%d%%",sum);gtk_entry_set_text(GTK_ENTRY(answer_entry),answer);}voidout_answer(GtkWidget*widget,
4、gpointerdata){FILE*fp_write,*fp_read;constchar*file_name="./result.txt",*dir,*answer;intsum=0;charch;dir=gtk_entry_get_text(GTK_ENTRY(input_dir_entry));if((fp_write=fopen(file_name,"at"))==NULL){fp_write=fopen(file_name,"w");fclose(fp_write);fp_write=fopen(file_name,"at")
5、;}if((fp_read=fopen(dir,"rt"))==NULL){dialog=gtk_message_dialog_new(GTK_WINDOW(window),GTK_DIALOG_DESTROY_WITH_PARENT,GTK_MESSAGE_WARNING,GTK_BUTTONS_OK,"Thisdirectoryisnotexist.");gtk_window_set_title(GTK_WINDOW(dialog),"Warning");}else{while(~fscanf(fp_read,"%c",&ch)){i
6、f(ch<='Z'&&ch>='A')sum+=ch-'A'+1;}fclose(fp_read);answer=(char*)g_strdup_printf("%d%%",sum);fprintf(fp_write,"File:%stsumvalues:%s",dir,answer);dialog=gtk_message_dialog_new(GTK_WINDOW(window),GTK_DIALOG_DESTROY_WITH_PARENT,GTK_MESSAGE_INFO,GTK_BUTTONS_OK,"Doneinto"Re
7、sult.txt"successfully!");gtk_window_set_title(GTK_WINDOW(dialog),"Congratulations");}gtk_dialog_run(GTK_DIALOG(dialog));gtk_widget_destroy(dialog);fclose(fp_write);}voidlayout_ctrls(){//initializewindowwindow=gtk_window_new(GTK_WINDOW_TOPLEVEL);my_window_title="Calculate
8、thevaluesumofallwords.";gtk_window_set_title(GTK_WINDOW(window),my_window_title);gtk_window_set_