所以我正致力于构建一个模仿我们日常使用的计算器的计算器。我所展示的是我的功能中的逻辑。 以前当我有我的cout线(删除,不再显示),看看我的" y"正在存储,我的两个变量,finalNum1& 2,一切正常,但回去时,尝试添加新的cout线,没有任何打印。如果还有更多问题,请随意指出它们,但是这段代码还没有完成,我主要关注的是打印是什么,我理解这段代码仍然需要工作。如果有人能提供帮助,我们将不胜感激!
int Calculator::calculate()
{
if (userInput[0] != 'q' || 'Q') // Checks for user input "Quit" or "quit"
{
int stringSize;
std::cin >> userInput; // User Input
stringSize = userInput.length();
int y = 0;
while (y < stringSize)
{
if (isdigit(userInput[y]))
{}
else
{
posi = y;
}
y++;
}
first = userInput.substr(0,posi);
second = userInput.substr(posi+1,y);
finalNum1 = std::stoi(first); // Sigbart error
finalNum2 = std::stoi(second);
std::cout << finalNum1 + finalNum2; // won't print
switch (userInput[posi])
{
case '+':
std::cout << finalNum1 + finalNum2;
break;
case '-':
std::cout << finalNum1 - finalNum2;
break;
case '*':
std::cout << finalNum1 * finalNum2;
break;
case '/':
std::cout << finalNum1 / finalNum2;
break;
case '%':
std::cout << finalNum1 % finalNum2;
break;
}
}
else
std::cout << "Goodbye";
return 0;
}
答案 0 :(得分:-2)
对于打印整数,如果将它们转换为字符串则更容易。
using namespace std;
float tmp = finalNumber1 + finalNumber2;
string out = to_string(tmp);
cout << tmp << endl;
然后另一件事。您应该使用for
代替while
。