gpt4 book ai didi

c++ - 如果输入数字为负数如何循环

转载 作者:太空宇宙 更新时间:2023-11-04 12:31:17 26 4
gpt4 key购买 nike

输入验证:

如果数字为负,程序应该输出错误并让用户重试。只需要一次迭代(即你的程序不需要提示输入另外三个数字,它可以在打印结果后退出)。

所以我已经完成了家庭作业,唯一缺少的就是如上所述的输入验证。换句话说(根据我的轻描淡写),我应该在我的代码中实现一个循环,如果用户之前输入了负数,则用户必须输入另外 3 组数字。

#include <iostream>
#include <iomanip>
using namespace std;

double getAverage (double num1, double num2, double num3){

double averageAmount;

averageAmount = (num1 + num2 + num3)/ 3;

return averageAmount;
}
double getMedian (int num1, int num2, int num3){

int x = num1-num2;
int y = num2-num3;
int z = num1-num3;
if(x*y > 0) return num2;
if(x*z > 0) return num3;
return num1;
}
double countDigits( int num1){

int digits = 0;

while (num1){

num1 = num1/10;
digits++;
}

return (digits);
}

int main() {

double num1 = 0;
double num2 = 0;
double num3 = 0;

cout << "Enter 3 integers" << endl;
cin >> num1;
cin >> num2;
cin >> num3;

cout << "The average is " << fixed << setprecision(2) << getAverage(num1, num2, num3) << endl;
cout << "The median is " << fixed << setprecision(2) << getMedian(num1, num2, num3) << endl;
cout << "There are " << countDigits(num1) << " digits in the number " << num1 << endl;

return 0;
}

如果用户输入负数,我希望输出为“输入 3 个整数”//因为我们只需要正数

最佳答案

您可以使用 do-while 循环编写代码:

do {
cout << "Enter 3 integers" << endl;
cin >> num1;
cin >> num2;
cin >> num3;
} while ((num1 < 0) || (num2 < 0) || (num3 < 0));

否则只有一个 while 循环:

while (true) {
cout << "Enter 3 integers" << endl;
cin >> num1;
// if any number is -ve, continue the whole loop
if (num1 < 0) continue;
cin >> num2;
if (num2 < 0) continue;
cin >> num3;
if (num3 < 0) continue;
// if every number is positive, just break out of the loop
break;
}

希望对你有帮助,谢谢- 拉杰库玛

关于c++ - 如果输入数字为负数如何循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58553150/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com