在c++上运行程序,如果正确,否则再次要求输入

On C++ run program if correct otherwise ask input again

本文关键字:输入 c++ 运行 程序 如果      更新时间:2023-10-16

我是编程新手。我正在编写一个程序,该程序将告诉奇数和偶数小于或等于用户的输入(对于输入>=0)。如何使程序在value>=0时运行,并在值为<0时再次请求输入?程序如下:

> #include <iostream>
using namespace std;
int main() {
    cout << "Please enter only a positive valuen";
    // Get number from user
    int input = 0;
    cout << "Enter a number:n";
    cin >> input;
    int number = 1;
    while (input >= 0 && number <= input) {
        // Print some numbers
        cout << "Here are some odd numbers:n";
        while (number <= input) {
            cout << number << endl;
            number = number + 2;
        }
        // Print some numbers
        cout << "Here are some even numbers:n";
        int number2 = 0;
        while (number2 <= input) {
            cout << number2 << endl;
            number2 = number2 + 2;
        }
    }
    return 0;
}

正确代码:

#include <iostream>
using namespace std;
int main() {
    cout << "Please enter only a positive valuen";
    // Get number from user
    int input = 0;
    cout << "Enter a number:n";
    cin >> input;
    while (input < 0) {
        cout << "Input is negative. Enter again: n";
        cin >> input;
    }
    int number = 1;
    while (input >= 0 && number <= input) {
        // Print some numbers
        cout << "Here are some odd numbers:n";
        while (number <= input) {
            cout << number << endl;
            number = number + 2;
        }
        // Print some numbers
        cout << "Here are some even numbers:n";
        int number2 = 0;
        while (number2 <= input) {
            cout << number2 << endl;
            number2 = number2 + 2;
        }
    }
    return 0;
}

注意,我添加了这个块:

while (input < 0) {
     cout << "Input is negative. Enter again: n";
     cin >> input;
}

处理负输入

while (input < 0)
{
    cout << "Enter a number:n";
    cin >> input;
    if (input < 0) 
        // Here you can print something to tell that input was not correct
}