c语言如何创建一个按钮?做计算器用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言如何创建一个按钮?做计算器用相关的知识,希望对你有一定的参考价值。

这是一个简单计算器程序:
1)创建一个对话框的应用
2)向对话框中添加一个编辑框控件和十六个按钮
3)在头文件声明:
double m_Num; //记录编辑框中的数据
BOOL m_Time; //判断是否为第一次按下数字键
char m_Operator; //保存运算符
4)处理数字“1”按钮的单击事件将按钮代表的数字写入编辑框中,代码:
void CCalculatorDlg::OnButton1()

// TODO: Add your control notification handler code here
UpdateData(TRUE);
if(m_Time == TRUE)

m_Result = 0;

m_Result = m_Result * 10 + 1;
m_Time = FALSE;
UpdateData(FALSE);

5)按照步骤4设置其他的数字按钮的单击事件
6)添加Count函数,用于计算数据,代码如下:
void CCalculatorDlg::Count()

UpdateData(TRUE);
switch(m_Operator)

case '+':
m_Num += m_Result;
break;
case '-':
m_Num -= m_Result;
break;
case '*':
m_Num *= m_Result;
break;
case '/':
if(m_Result == 0)

MessageBox("除数不能为0");
return;

m_Num /= m_Result;
break;
default:
m_Num = m_Result;
break;

m_Result = m_Num;
m_Time = TRUE;
UpdateData(FALSE);

7)处理“+”,为m_Operator变量赋值。代码:
void CCalculatorDlg::OnButton13()

// TODO: Add your control notification handler code here
if(m_Time == FALSE)

Count();

m_Operator = '+';

8)按照步骤7设置其他符号按钮的单击事件
9)处理“C”按钮的单击事件,用于清空编辑框中的数据,代码
void CCalculatorDlg::OnButton11()

// TODO: Add your control notification handler code here
UpdateData(TRUE);
m_Result = 0;
m_Num = 0;
m_Time = TRUE;
m_Operator = ' ';
UpdateData(FALSE);

以上运行结果正常,不过结果贴不上来啊,就靠自己了啊
参考技术A 用mfc 参考技术B 这个比较困难,还是用VC++做吧。

C语言如何跟C#一样弄个窗体出来,并加入按钮之类的控件

C语言写界面的话只能直接调用API函数.
直接调用API函数非常的繁琐. 需要了解一些Windows窗口和消息循环原理.
举个例子吧, 下面就是一个API函数, 需要包含windows.h头文件, 这个函数用来创建1个窗口;

HWND WINAPI CreateWindowEx(
DWORD dwExStyle, // 窗口扩展风格
LPCTSTR IpClassName,// 窗口类名
LPCTSTR lpWindowName, // 窗口标题
DWORD dwStyle, // 窗口样式
int x,int y, // 窗口的坐标x y
int nWidth, int nHeight, // 窗口的高度和宽度
HWND hWndParent, // 父级窗口句柄
HMENU hMenu, // 菜单句柄
HANDLE hInstance,// 程序的实例句柄
LPVOID lpParam // 额外参数
);

不要嫌参数多(虽然确实很多), 这都是一个窗口必不可少的属性, 事实上调用这个API之前你还必须填充一个10个成员的巨大结构, 用来确定窗口的背景, 风格, 图标等属性.

为什么C#创建窗口这么简单, C#同样是调用这个API来创建窗口的, 只不过它把那些细节的东西全都封装了起来, 程序员看不到了而已, 但是你如果要用C来写界面就必须要面对这些.

虽然API繁琐, 但是和C#相比, 无疑更加能够让你真正理解操作系统的原理和实现细节
参考技术A C#可以直接拖,C的话就要自己接手写了,我觉得还是用C#方便追问

但我想用C语言写出来,有没有什么办法啊

参考技术B 去用C++吧,有图形界面,比如QT追问

C语言不可以吗??

追答

据我所知,没有
c语言语法基本上跟c++一样
而且,c就不是拿来做界面的

参考技术C kankan追问

??

以上是关于c语言如何创建一个按钮?做计算器用的主要内容,如果未能解决你的问题,请参考以下文章

C语言中如何实现大数计算

谁可以给个做计算器VB的编程?全面加图!满意加分

c语言 win32api 创建一个按钮,点击按钮后,按钮消失?

在Java语言中四舍五入,使其与C#匹配

子数涵数·C语言——让C帮你做计算

如何实现C语言的多处理器并行计算