繁体   English   中英

如何在这个程序中添加一个循环以确保用户输入正数,如果负数让他们重新输入?

[英]How to add a loop to this program to ensure user enters positive number, if negative make them retype it?

我怎样才能确保用户输入一个正数,如果它是负数会给他们一个错误并让他们重新输入它?

int main()
{
    float sq, n;
    cout << "Enter any number:";
    cin >> n;
    sq = sqrt(n);
    cout << "Square root of " << n << " is " << sq;
    return 0;
}

这可以通过 do-while 循环轻松实现:

int num = 0;
do {
    std::cin >> num;
} while (num < 0)

在这里,你可以使用while循环while循环的if-else语句。

int main()
{
    float sq;
    int n;
    
    cout << "Enter any number:\n";
    while (cin >> n) {
    
      if (n < 0)
        cout << "enter a positive number\n";
      
      else {
      sq = sqrt(n);
      cout << "Square root of " << n << " is " << sq << '\n';
      cout << "Enter any number: \n";
      } 
    }
    return 0;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM