我正在尝试制作一个基本的计算器,但是我没有得到我期望的答案。这是我的代码:
char x;
int y;
int z;
cout << "Welcome to the Calculator!\n";
cout << "What operation would you like to use?\n";
cin >> x;
cout << "What will be the first integer?\n";
cin >> y;
cout << "What will be the second?\n";
cin >> z;
cout << "Computing...\n";
cout << y << x << z;
执行该命令时,如果分别为每个提示符输入-
,9
和6
,则会得到以下输出:
9-6
同样,如果我输入+
,8
和4
,则会得到:
8+4
我期望输出分别为3
和12
。
答案 0 :(得分:3)
我认为解决这个问题的最简单方法就是从小做起。制作一个具有单一功能的计算器:一个将数字加在一起的计算器。突然,您的代码是:
cout << "What will be the first integer?\n";
cin >> y;
cout << "What will be the second?\n";
cin >> z;
auto result = y + z;
std::cout << result << "\n";
又好又容易。现在考虑如何添加允许减法的功能。好吧,我们需要问哪个操作:
std::cout << "Would you like to add or subtract numbers? ";
char operation;
std::cin >> operation;
int result;
if (operation == '+')
{
result = y + z;
}
else
{
result = y - z;
}
您可以通过if else if
或仅添加switch
int result;
switch (operation)
{
case '+': result = y + z; break;
case '-': result = y - z; break;
case '*':
case 'x':
result = y * z; break;
}
此外,您还想为输入的无效操作添加处理。
答案 1 :(得分:1)
您需要测试用户输入的字符,并使用它来确定要应用的操作。所以如果输入“-”,即可执行操作y-z
。