资源简介
这是一个界面用glade3设计,代码用c实现的一个功能俱全的计算器。
代码片段和文件信息
#include
#include
/*创建一个指向GtkWidget类型的指针(创建文本框使用)*/
static GtkWidget *entry;
/*创建全局变量:名为“fnum”(双精度,第一个输入量);
“snum”(双精度,第二个输入量)*/
gdouble fnum = 0;
gdouble snum = 0;
/*创建全局控制变量:名为“num_count”(整型,控制输入位数);
“operator”(整型,控制输入的运算符号);
“first_num”(布尔型,控制输入的次数);
“have_result”(布尔型,为重新进行计算作好准备)*/
gint num_count =0;
gint operator = 0;
gboolean first_num = TRUE;
//gboolean first_num_equal = FALSE;
gboolean have_dot = FALSE; //小数点
gboolean have_result = FALSE;
gchar number[100];
/*........................................................................ */
//清除函数:ClearReset()
//1:清除屏幕上的内容(TURE);2:初始化变量并清屏(FALSE)
void ClearReset(gboolean clear_only)
{
/*初始化number[100]等,分配内存空间*/
gint i = 0;
for(i = 0;i<100;i++)
number[i] = ‘\0‘;
fnum = 0;
snum = 0;
operator = 0;
num_count = 0;
first_num = TRUE;
have_dot = FALSE;
have_result = FALSE;
//first_num_equal = FALSE;
/*清除屏幕*/
if(clear_only = TRUE)
gtk_entry_set_text(GTK_ENTRY(entry)“0“);
}
/*---------------------------------------------------------------------------------- */
//按下数字时的回调函数:PressNum()
void PressNum(GtkButton *buttongpointer data)
{
/*创建一个指向字符的指针变量:“num“(用来操作输入量)*/
const gchar *num;
int i;
/*控制输入数字的位数*/
if(num_count == 9)
return;
/*输入位数记数*/
num_count++;
/*通过button的label获取每次输入的数值(字符串型)*/
num=gtk_button_get_label(GTK_BUTTON(button));
/*g_strlcat() 可以用来组合每次输入数字(字符串)起到累加作用*/
i=g_strlcat(numbernum100);
/*输入第一个数和第二个数的控制开关strtod()是把字符串转换为gdouble型*/
if(first_num )
{
/*第一次输入*/
fnum=strtod(numberNULL);
}
else
{
/*第二次输入*/
/*防止除法时除数为0*/
if(num_count == 1);
snum=strtod(numberNULL);
if(num_count == 1 && operator ==4 && snum == 0)
//gtk_entry_set_text(GTK_ENTRY(entry)“ERROR“);
return;
}
if (number[0]==‘0‘ && number[1]!=‘.‘ &&num_count>=2 )
{
gint i;
for (i =0 ; i<100; i++)
{
number[i] = number[i+1];
}
}
/*把输入的数字显示出来*/
gtk_entry_set_text(GTK_ENTRY(entry)number);
//g_print(“F:%f\n“fnum);
//g_print(“S:%f\n“snum);
}
/*--------
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2011-11-30 02:36 glade3设计的计算器\
文件 15235 2011-10-17 00:49 glade3设计的计算器\glade_counter.c
文件 11914 2011-10-17 00:51 glade3设计的计算器\counter.glade
文件 99 2011-10-17 01:05 glade3设计的计算器\readme
文件 16384 2011-10-14 01:57 glade3设计的计算器\.callbacks.c.swo
文件 137 2011-10-17 01:25 glade3设计的计算器\Makefile
- 上一篇:vsphere6.7u2.txt
- 下一篇:POS机陆续都到了,拆开芯片型号整理下
相关资源
- 电脑卡西欧计算器 fx-991CN X Emulator19中
- 卡西欧工程计算器模拟器Casio FX
- PIC 单片机定时器初值计算器
- 湍流k-e经验值计算器
- PIC单片机延时计算器
- MVC模式实现的计算器
- powerbuilder 计算器小程序
- 简单计算器的实现(数据结构)
- 简单计算器的实现(数据结构 修正版
- 基于51单片机的计算器(C51编写,有
- labview计算器实例.vi88218
- EGM2008重力模型计算器
- 基于AT89S52单片机简易计算器的设计
- 中兴电视盒ADB密码计算器
- 实验1.zip arduino跑马灯led灯实验,串口
- 汇率计算器
- 色坐标计算器
- 词法分析器 -计算器版
- 课程设计简易计算器设计
- proUSB注册计算器
- 金融计算器tvm、npv、现金流、简单计
- 基于算符优先分析表的计算器
- 安卓微积分计算器
- 计算器.zip
- 仿小米计算器
- 多功能矩阵计算器珍藏版
- QT实战项目五--计算器
- 一个PMV计算器。
- 席氏铁口断旺衰计算器v0.95安卓版.r
- 计算器小程序源代码连续运算
评论
共有 条评论