⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hanshu.c

📁 A值为1
💻 C
字号:
#include "head.h"

void layout()//创建界面
{
	window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
	gtk_window_set_default_size(GTK_WINDOW(window),400,400);
	gtk_container_set_border_width(GTK_CONTAINER(window),10);
	g_signal_connect(G_OBJECT(window),"delete_event"
					,G_CALLBACK(gtk_main_quit),NULL);
	
	table=gtk_table_new(6,3,TRUE);
	gtk_table_set_row_spacings(GTK_TABLE(table),2);
	gtk_table_set_col_spacings(GTK_TABLE(table),2);
	gtk_container_add(GTK_CONTAINER(window),table);

	//label1
	label1=gtk_label_new("请输入单词:");
	gtk_table_attach_defaults(GTK_TABLE(table),label1,0,2,0,1);

	//entry1
	entry1=gtk_entry_new_with_max_length(1000);
	gtk_table_attach_defaults(GTK_TABLE(table),entry1,0,3,1,2);

	//get_button
	get_button=gtk_button_new_with_label("计算");
	g_signal_connect(G_OBJECT(get_button),"clicked"
					,G_CALLBACK(on_caculate),NULL);
	gtk_table_attach_defaults(GTK_TABLE(table),get_button,3,4,1,2);

	//entry2
	entry2=gtk_entry_new_with_max_length(100);
	gtk_table_attach_defaults(GTK_TABLE(table),entry2,1,3,2,3);

	//label2
	label2=gtk_label_new("该单词值:");
	gtk_table_attach_defaults(GTK_TABLE(table),label2,0,1,2,3);

	//label3
	label3=gtk_label_new("请输入文件路径:");
	gtk_table_attach_defaults(GTK_TABLE(table),label3,0,3,4,5);

	//entry3
	entry3=gtk_entry_new_with_max_length(100);
	gtk_table_attach_defaults(GTK_TABLE(table),entry3,0,3,5,6);

	//yes_button
	yes_button=gtk_button_new_with_label("确定");
	g_signal_connect(G_OBJECT(yes_button),"clicked",
					G_CALLBACK(on_yes),NULL);
	gtk_table_attach_defaults(GTK_TABLE(table),yes_button,3,4,5,6);

	gtk_widget_show_all(window);
}

void on_yes(GtkButton *widget,gpointer data)//读文件求单词值并写文件
{
	int i=0,j=0;
	char *lab;
	FILE *fp;
	number=0;
	result=0;
	if (read_file((char *)gtk_entry_get_text(GTK_ENTRY(entry3)))==1)
	{
		fp=fopen("result.txt","w");
		while (i<number)
		{
			for (j=0,result=0;tmp[i][j]!='\0' ;j++ )
			{
				if (tmp[i][j]>='A' && tmp[i][j]<='Z')
				{
					result=result+(tmp[i][j]-64);
				}
				else
				{
					fclose(fp);
					g_print("出现非法字符!\n");
					return;
				}
			}
			i++;
			lab=(char *)g_strdup_printf("%d%c",result,37);
			fprintf (fp,"%s\n",lab);
		}
		fclose(fp);
	}
}

void on_caculate(GtkButton *widget,gpointer data)
//计算按钮事件处理程序
{	
	const char *word = (char *)gtk_entry_get_text(GTK_ENTRY(entry1));
	int i=0;
	char *lab;
	result=0;
	if (strcmp("",word)==0)
	{
		g_print("未输入单词,请输入!\n");
	}
	else
	{
		while (word[i]!='\0')
		{
			if (word[i]>='A' && word[i]<='Z')
			{
				result = result + (word[i]-64);				
			}
			else
			{
				g_print("输入非法字符!\n");
				return;
			}			
			i++;
		}
		lab=(char *)g_strdup_printf("%d%c",result,37);
		gtk_entry_set_text(GTK_ENTRY(entry2),lab);
	}
}


int read_file(char *path)//读文件
{
	FILE *fp;
	char ch;
	int i=0,j=0;
	if ((fp=fopen(path,"r"))==NULL)
	{
		g_print("找不到该文件!\n");
		return 0;
	}
	else
	{
		while ((ch=fgetc(fp)) != EOF)
		{
			if (ch == '\n')
			{
				if (tmp[i][0]!='\0')
				{					
					tmp[i][j]='\0';
					i++;
					j=0;				
				}				
			}
			else
			{
				tmp[i][j]=ch;
				j++;
			}
		}
		number = i;
		fclose(fp);
		return 1;
	}	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -