2016-09-23 95 views
0

我刚刚进入编程。我正在开发一个程序,它可以告诉奇数和偶数的数字小于或等于用户的输入(对于输入> = 0)。如何使程序运行,如果值> = 0,并要求再次输入,如果值是0 <这里 是程序:在C++上运行程序,如果正确的话,再次询问输入

> #include <iostream> 
using namespace std; 
int main() { 
    cout << "Please enter only a positive value\n"; 
    // 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; 
} 
+0

使用while循环。循环直到用户符合良好输入的标准。 –

回答

0

正确的代码:

#include <iostream> 
using namespace std; 
int main() { 
    cout << "Please enter only a positive value\n"; 
    // 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; 
} 

处理负输入。

0
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 
} 
+0

尽管此代码可能有助于解决问题,但它并未解释_why_和/或_how_它是如何回答问题的。提供这种附加背景将显着提高其长期教育价值。请[编辑]您的答案以添加解释,包括适用的限制和假设。 –

相关问题