全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/my_define.h#include #include#includeconst char *my_window_title;GtkWidget *input_words_label;GtkWidget *dialog;GtkWidget *input_dir_label;GtkWidget *answer_label;GtkWidget *input_words_entry;GtkWidget *input_dir_entry;GtkWidget *answer_entry;GtkWidget *btn_cal_words;GtkWidget *btn_cal_dir;GtkWidget *table;GtkWidget *window;void layout_ctrls();void dis_answer(GtkWidget *widget, gpointer data);void out_answer(GtkWidget *widget, gpointer data);#endifvoid dis_answer(GtkWidget *widget, gpointer data) const char *words, *answer; int sum = 0, i, len; words = gtk_entry_get_text(GTK_ENTRY(input_words_entry); len = strlen(words); for(i = 0; i = A & wordsi = Z) sum += wordsi - A + 1; answer = (char*)g_strdup_printf(%d%, sum); gtk_entry_set_text(GTK_ENTRY(answer_entry), answer);void out_answer(GtkWidget *widget, gpointer data) FILE *fp_write, *fp_read; const char *file_name = ./result.txt, *dir, *answer; int sum = 0; char ch; dir = gtk_entry_get_text(GTK_ENTRY(input_dir_entry); if(fp_write = fopen(file_name, at) = NULL) fp_write = fopen(file_name, w); fclose(fp_write);fp_write = fopen(file_name, at); if(fp_read = fopen(dir, rt) = NULL) dialog = gtk_message_dialog_new(GTK_WINDOW(window),GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_WARNING, GTK_BUTTONS_OK, This directory is not exist.); gtk_window_set_title(GTK_WINDOW(dialog), Warning); else while(fscanf(fp_read, %c, &ch) if(ch = A)sum += ch - A + 1;fclose(fp_read);answer = (char*)g_strdup_printf(%d%n, sum);fprintf(fp_write, File :%s tsum values :%s, dir, answer);dialog = gtk_message_dialog_new(GTK_WINDOW(window),GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, Done into Result.txt successfully!); gtk_window_set_title(GTK_WINDOW(dialog), Congratulations); gtk_dialog_run(GTK_DIALOG(dialog); gtk_widget_destroy(dialog); fclose(fp_write);void layout_ctrls() /initialize window window = gtk_window_new(GTK_WINDOW_TOPLEVEL); my_window_title = Calculate the value sum of all words.; gtk_window_set_title(GTK_WINDOW(window),my_window_title); gtk_window_set_default_size(GTK_WINDOW(window), 400, 250); gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER); gtk_container_set_border_width(GTK_CONTAINER(window), 10); g_signal_connect(G_OBJECT(window), delete_event, G_CALLBACK(gtk_main_quit), NULL); /initialize table table = gtk_table_new(6, 4, 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); /initialize input_words_label input_words_label = gtk_label_new(Please input words:); gtk_table_attach_defaults(GTK_TABLE(table), input_words_label, 0, 1, 0, 1); /initialize input_words_entry input_words_entry = gtk_entry_new(); gtk_table_attach_defaults(GTK_TABLE(table), input_words_entry, 0, 3, 1, 2); /initialize btn_cal_words btn_cal_words = gtk_button_new_with_label(Calculate); gtk_table_attach_defaults(GTK_TABLE(table), btn_cal_words, 3, 4, 1, 2); g_signal_connect(G_OBJECT(btn_cal_words), clicked, G_CALLBACK(dis_answer), NULL); /initialize answer_label answer_label = gtk_label_new(sum values:); gtk_table_attach_defaults(GTK_TABLE(table), answer_label, 0, 1, 2, 3); /initialize answer_entry answer_entry = gtk_entry_new(); gtk_editable_set_editable(GTK_EDITABLE(answer_entry), FALSE); gtk_table_attach_defaults(GTK_TABLE(table), answer_entry, 1, 3, 2, 3); /initialize input_dir_label input_dir_label = gtk_label_new(Input a directory:); gtk_table_attach_defaults(GTK_TABLE(table), input_dir_label, 0, 1, 4, 5); /initialize input_dir_entry input_dir_entry = gtk_entry_new(); gtk_table_attach_defaults(GTK_TABLE(table), input_dir_entry, 0, 3, 5, 6); /initialize btn_cal_dir btn_cal_dir = gtk_button_new_with_label(Cal to File); gtk_table_attach_defaults(GTK_TABLE(table), btn_cal_dir, 3, 4, 5, 6); g_sign
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年危险废物管理培训效果评估考核试卷
- 2025年交通运输行业Cybersecurity资格考试全链条安全防护考核试卷
- 2025年公共服务行业城市智慧化创新研究报告及未来发展趋势预测
- 光电探测器材料响应度测试考核试卷
- 2025贵州民族大学采用简化考试程序招聘工作人员 (第二批)笔试考试参考题库及答案解析
- 招24人!2025年达日县紧密型医共体自主招聘编外(临聘)人员考试笔试模拟试题及答案解析
- 2025广东佛山市顺德区水藤小学语文学科临聘教师招聘考试笔试备考试题及答案解析
- 2026年中国铁路郑州局集团有限公司招聘全日制普通高等院校大专(高职)学历毕业生1288人考试笔试备考题库及答案解析
- 2025年甘肃开放大学引进高层次人才笔试考试参考试题及答案解析
- 2025北京广播电视台招聘200人考试笔试备考题库及答案解析
- 2025北京市公安局顺义分局勤务辅警、流动人口管理员招聘100人考试笔试备考试题及答案解析
- GJB3206B-2022技术状态管理
- 新产品开发计划书
- 创新管理及其实施策略
- 中药贴敷在骨折康复中的临床应用
- 母婴护理讲师如何讲好课件
- 基于核心素养视角下的小学数学方程教学策略研究
- 高速公路机电养护技术要求
- 向榜样学习 争做新时代好少年主题班会
- 互联网运营订单班-项目方案
- 河北省承德市各县区乡镇行政村村庄村名居民村民委员会明细
评论
0/150
提交评论