用C++程序,製作簡易計算器,可以進行加減乘除運算。
在vs2015中,代碼如下:
//編程計算器,可進行簡單的加減乘除運算
#include<iostream>
#include<vector>
#include<string>
using namespace std;
int main()
{
int x, i, j, k, m, n; // 定義變量
double y(0), z, c(0);
vector<double> num; //無初始化,可能會有歧義
vector<char> ope; //無初始化,可能會有歧義
char a;
while (2>1) //死循環,將運算式中的數字和運算符分開
{
cin >> x;
num.push_back(x);
cin >> a;
if (a == '=')
{
ope.push_back(a);
break;
}
else
{
ope.push_back(a);
}
c++;
}
switch (ope[0])
{
case '*':
num[1] = num[0] * num[1];
num[0] = 0;
ope[0] = '+';
break;
case '/':
num[1] = num[0] / num[1];
num[0] = 0;
ope[0] = '+';
break;
default:
break;
}
for (i = 1; i <= c; i++) //計算乘除運算,化成加減運算
{
if (ope[i] == '*' || ope[i] == '/')
{
if (ope[i] == '*')
{
num[i + 1] = num[i] * num[i + 1];
num[i] = 0;
}
else
{
num[i + 1] = num[i] / num[i + 1];
num[i] = 0;
}
}
}
for (j = 0; j <= c; j++) //將減法運算轉化成加法運算
{
if (ope[j] == '-')
{
num[j + 1] = -num[j + 1];
ope[j] = '+'; // 考慮兩種情況
}
}
for (k = 0; k <= c; k++) //將所有元素相加,得到最終結果
{
y = y + num[k];
}
cout << y << endl; //輸出最終結果
system("pause");
return 0;
}