首页 > 解决方案 > 我想不出办法让我的代码循环

问题描述

我是一个完整的初学者,我无法弄清楚如何在一个非常简单的计算器代码中使用 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;
}

一切都以这种方式工作正常我只是希望它在第一个问题之后循环并再次询问另一个问题......

标签: c++

解决方案


我是一个完整的初学者,我无法弄清楚如何在一个非常简单的计算器代码中使用 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;
}

推荐阅读