基于GTK+的单词数值计算器.docVIP

  • 3
  • 0
  • 约6.26千字
  • 约 10页
  • 2019-09-19 发布于浙江
  • 举报
Linux综合性实验报告 一 实验题目:基于GTK+的单词数值计算器 二 实验任务要求: 1、按照规则计算单词的值,如果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个字母(全部用大写)的值分别为 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这个单词的值就为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+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、程序的界面布局参考如下图,在第一个单行文本框输入一单词,点击“计算”按钮,按照以上算法计算出该单词的值。 3、如果在最下面的单行文本框输入一个文件路径,此文件每行记录一个单词,那么经过程序计算出各个单词的值,并把结果输出到当前目录下result.txt文件中。如果文件不存在,应该提示错误。 三 程序代码: #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 worlds value { int i,value=0,length = strlen(String); for(i=0;ilength;i++) { value=value+String[i]-64; //A=1 } return value; } void button_ok_clicked(GtkWidget *widget,gpointer data) //the event action when //button_on was clicked { const char *input_file;//text of entry_file_path FILE *source,*result;//pointer of source file and result file char temp,array[100][100]; //source words int i,j,length; input_file=gtk_entry_get_text(GTK_ENTRY((GtkWidget *)data));//get file path g_print(%s\n,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),error_message); }//if file can not be found show error message else { 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) {array[i][j] = \0;break;} else if(temp==EOF) break; else array[i][j]=temp; } if(temp==EOF) break; } length = i; result=fopen(/root/result.txt,w+); for(i=0;ilength;i++) { g_print(%s\n,array[i]); fprintf(result,%d\n,get_val

文档评论(0)

1亿VIP精品文档

相关文档