我想不出一种方法来使我的代码循环

时间:2019-02-02 17:30:16

标签: c++

我是一个完整的入门者,我不知道如何在一个非常简单的计算器代码中使用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;
}

一切正常工作,我只希望它在出现第一个问题后循环播放,然后再次询问另一个问题...

2 个答案:

答案 0 :(得分:2)

  

我是一个完整的入门者,我不知道如何在一个非常简单的计算器代码中使用while函数。

是时候该动手了good C++ book ...

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;
}

答案 1 :(得分:0)

您可以尝试这样的操作。这可能是最简单的方法。

do{
//your calculator code
char ch;
cout<<"Do you want to continue"<<endl;
cin>>ch;
while(ch=='Y'||ch=='y');