我的程序不会打印任何内容...
My program won't print anything...
所以我正在努力构建一个模拟我们每天使用的计算器。我所展示的是我的函数中的逻辑。以前,当我有我的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;
}
对于打印整数,如果将它们转换为字符串会更容易。
using namespace std;
float tmp = finalNumber1 + finalNumber2;
string out = to_string(tmp);
cout << tmp << endl;
然后是另一件事。您应该使用 for
而不是 while
。
相关文章:
- 如何在同一行内打印和返回?
- 是否有任何内置的哈希图函数来处理 c++ 中的值输入?
- 是否有任何内置函数可以检查给定的两个数字在给定整数数组中的顺序是否相同?
- 如何在方括号内打印整个数组,而不是打印每个值?
- 当我在循环内打印变量时无限输出
- C++ 中是否有任何内置阶乘函数?
- 在向量内打印地图
- 是否有任何内置函数可以告诉编译器分支是否可预测
- 我的任务是在框架内打印一个字符串,例如一个正方形
- 我需要在C /C#中使用图形.我可以使用任何内置的C /C#库
- 是否有任何内置类可以处理C 中的大整数值
- 该程序不会在任何地方打印系统日志?
- 如何在700毫秒内打印出巨大的矩阵
- c ++中是否有任何内置功能可以在计划的时间运行任务
- 是否有任何内置的 UTF 在 c++ 在窗口中
- 在VC++2010中执行任何内置的ARRAY函数
- 如何在向量内的结构内打印指向整数的数组
- C++:如何在不使用任何内置函数的情况下将字符串转换为整数
- 是否有任何内置的CUDA函数允许CUDA内核向主机代码报告错误?
- C++ -- 为什么"什么"在捕获范围内打印"未知异常"?