用c++ easyx做一个计算器
时间: 2024-02-18 16:07:40 浏览: 85
用c++做一个简单的计算器
5星 · 资源好评率100%
好的,以下是一个简单的计算器程序示例:
```cpp
#include <iostream>
#include <graphics.h> // 引入 easyx 头文件
using namespace std;
int main()
{
initgraph(400, 500); // 初始化窗口
setbkcolor(WHITE); // 设置背景颜色为白色
cleardevice(); // 清空屏幕
char ch;
string num1 = "", num2 = "";
int op = 0, result = 0;
while (true)
{
ch = getch();
if (ch >= '0' && ch <= '9')
{
if (op == 0)
{
num1 += ch;
outtextxy(20, 20, num1.c_str()); // 在屏幕上输出第一个数
}
else
{
num2 += ch;
outtextxy(20, 40, num2.c_str()); // 在屏幕上输出第二个数
}
}
else if (ch == '+' || ch == '-' || ch == '*' || ch == '/')
{
op = ch;
outtextxy(20, 60, string(1, op).c_str()); // 在屏幕上输出运算符
}
else if (ch == 13) // 回车键
{
switch (op)
{
case '+':
result = stoi(num1) + stoi(num2);
break;
case '-':
result = stoi(num1) - stoi(num2);
break;
case '*':
result = stoi(num1) * stoi(num2);
break;
case '/':
result = stoi(num1) / stoi(num2);
break;
}
outtextxy(20, 80, to_string(result).c_str()); // 在屏幕上输出结果
num1 = to_string(result);
num2 = "";
op = 0;
}
else if (ch == 8) // 退格键
{
if (op == 0)
{
num1 = num1.substr(0, num1.size() - 1);
clearrectangle(0, 0, 400, 20); // 清空第一个数的输出区域
outtextxy(20, 20, num1.c_str()); // 在屏幕上重新输出第一个数
}
else
{
num2 = num2.substr(0, num2.size() - 1);
clearrectangle(0, 40, 400, 20); // 清空第二个数的输出区域
outtextxy(20, 40, num2.c_str()); // 在屏幕上重新输出第二个数
}
}
}
closegraph(); // 关闭窗口
return 0;
}
```
这是一个简单的计算器程序,支持加减乘除四种运算,并且支持退格和回车操作。你可以根据自己的需要进行修改和完善。
阅读全文