資源簡介
1、按照規則計算單詞的值,如果A B C D ....X Y Z 26個大寫字母(全部用大寫)的值分別為1 2 3 ....24 25 26,如
WINJACK這個單詞的值就為W+I+N+J+A+C+K=23+9+14+10+1+3+11=71%
同理,HARDWORK=98% KNOWLEDGE=96% LOVE=54% LUCK=47%
ATTITUDE=100%
2、在第一個單行文本框輸入一單詞,點擊“計算”按鈕,按照以上算法計算出該單詞的值
3、如果在最下面的單行文本框輸入一個文件路徑,此文件每行記錄一個單詞,那么經過程序計算出各個單詞的值,并把結果輸出到當前目錄下result.txt文件中。如果文件不存在,應該提示錯誤。
代碼片段和文件信息
#include?
#include?
#include?
#include?
GtkWidget?*window;
GtkWidget?*btn_calculated;
GtkWidget?*btn_ok;
GtkWidget?*label1;
GtkWidget?*label2;
GtkWidget?*label3;
GtkWidget?*entry1;
GtkWidget?*entry2;
GtkWidget?*entry3;
GtkWidget?*table;
void?calculated(GtkWidget?*widgetgpointer?data)
{
int?value=0;
int?i;
char*?lab;
char?s[40];
const?char*?str=gtk_entry_get_text(GTK_ENTRY(entry1));
stpcpy(sstr);
?for(i=0;i<40;i++)
?{if(s[i]>=‘A‘&&s[i]<=‘Z‘)
??value+=s[i]-‘A‘+1;
?}
lab=(char*)g_strdup_printf(“%d%c“value‘%‘);
gtk_entry_set_text(GTK_ENTRY(entry2)lab);
}
void?ok(GtkWidget?*widgetgpointer?data)
{
FILE?*in;
FILE?*out;
char?ch;
int?a[1000]={0};
int?i=0;
int?j;
const?char*?str=gtk_entry_get_text(GTK_ENTRY(entry3));
if((in=fopen(str“r“))==NULL)
{
?exit(0);
}
ch=fgetc(in);
while(ch!=EOF)
{
?
?while(ch!=‘\n‘&&ch!=EOF)
?{
??a[i]+=ch-‘A‘+1;
??ch=fgetc(in);
?}
?ch=fgetc(in);
?i++;
}
fclose(in);
if((out=fopen(“result.txt““w“))==NULL)
{
?exit(0);
}
for(j=0;j{
fprintf(out“%d%\n“a[j]);
}
fclose(out);
}
int?main(int?argcchar?*?argv[])
{
gtk_init(&argc&argv);
window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_default_size(GTK_WINDOW(window)400400);
gtk_container_set_border_width(GTK_CONTAINE
- 上一篇:4FSK.rar
- 下一篇:程序設計語言編譯原理第三版課后習題答案
評論
共有 條評論