我想不出一种方法来使我的代码循环
I cant figure out a way to make my code loop
我是一个完整的入门者,我不知道如何在非常简单的计算器代码中使用while函数。
我已经尝试以不同的方式将while函数放入代码中,但似乎没有任何效果,它甚至没有给我第一个"问题的最终结果"就停止
了#include "pch.h"
#include <iostream>
using namespace std;
int main()
{
int number1;
int number2;
char op;
int result;
cout << "Give first number: ";
cin >> number1;
cout << "Give second number: ";
cin >> number2;
cout << "Chose operator(+ - / * ): ";
cin >> op;
if (op == '+')
{
result = number1 + number2;
}
else if (op == '-')
{
result = number1 - number2;
}
else if (op == '*')
{
result = number1 * number2;
}
else if (op == '/')
{
result = number1 / number2;
}
cout << "The result is: " << result << endl;
system("pause");
return 0;
}
一切都以这种方式正常工作,我只是希望它在第一个问题之后循环并再次要求另一个问题......
我是完整的初学者,我不知道如何在非常简单的计算器代码中使用 while 函数。
是时候让你拿到一本好C++书了......
循环while
语法:while (some_condition) { /* Body... */ }
纠正上述问题的代码:
#include <iostream>
int main()
{
int number1, number2, result;
char op;
bool is_loop = true;
while (is_loop) {
std::cout << "Give first number: ";
std::cin >> number1;
std::cout << "Give second number: ";
std::cin >> number2;
std::cout << "Chose operator(+ - / * ): ";
std::cin >> op;
switch (op)
{
case '+':
result = number1 + number2;
break;
case '-':
result = number1 - number2;
break;
case '*':
result = number1 * number2;
break;
case '/':
result = number1 / number2;
break;
default:
is_loop = false;
}
std::cout << "The result is: " << result << std::endl;
std::cin.get();
}
return 0;
}
你可以
尝试这样的事情......这可能是最简单的方法。
do{
//your calculator code
char ch;
cout<<"Do you want to continue"<<endl;
cin>>ch;
while(ch=='Y'||ch=='y');
相关文章:
- 如何重写全局方法名称以在调用原始方法之前将我的代码推到前面
- 我的模板类方法返回错误类型?
- 我无法使用C++指针指向类方法返回的 std::vector
- 查找定义我的 C/C++ 函数/宏的文件比'grep'更简单的方法
- 为什么我的 setter 方法会产生错误的访问错误
- 为什么我的子集和方法不正确?
- 有什么方法可以检测我的类的对象是否在堆栈上创建
- 我无法重写基类的方法,因为我的派生类是模板化的
- 我不确定如何引用此神经网络训练方法中的权重
- 为什么在我的代码中没有调用 g 模拟方法
- 为什么 constexpr 假设我的方法就是 const
- 当我的结构中的任何变量发生更改时触发的事件的任何方法
- 是否有其他方法将.dll文件从一个项目复制到我的启动项目中的可执行文件旁边
- 我的数据结构的最佳序列化方法
- 我的私有方法如何在C++中访问公共枚举
- 我如何确保从我的派生类中调用纯虚拟方法
- 我的链接列表反向递归方法的代码的问题是什么?
- 调用'maps::size(char [20], char&)'没有匹配函数,但我认为我的方法有
- 我的重载后增量方法无法按预期工作。为什么?
- 如何在我的源代码中找到所有发生的情况,其中std :: string被传递给方法作为副本而不是恒定引用