• 大小: 3KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-06-10
  • 语言: 其他
  • 标签: Linux  

资源简介

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

评论

共有 条评论