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

I cant figure out a way to make my code loop

本文关键字:方法 我的 循环 代码 一种      更新时间:2023-10-16

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