- 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
您可能关注的文档
最近下载
- Leisai雷赛智能控制 数字式两相步进驱动器 DM422(V3.0) M542 使用说明书.pdf
- 租房合同范本下载(可直接打印).pdf VIP
- 《巴洛克时期工艺美术》.ppt VIP
- 监控系统维护保养记录表.doc VIP
- 2023年高考历史试卷(浙江)(6月)(解析卷).doc VIP
- 二型糖尿病肾病护理查房ppt课件.pdf VIP
- 铁路运输安全管理概述.pptx VIP
- 2025年陕西省普通高校职业教育单独招生考试语文真题(含答案)2025.pdf VIP
- 浙江省宁波市宁波九校2023-2024学年高二上学期1月期末数学试题 Word版含解析.docx VIP
- 社会支持量表:信度与效度的研究.docx VIP
原创力文档

文档评论(0)