我必须用C ++编写程序,并且不确定如何在出错后返回顶部。例如,我有用户输入2个整数,如果第二个整数小于第一个我有一个错误说明请输入一个大于第一个的数字,但从这里我不知道输入什么代码来提问再问一遍/发送到代码的开头/顶部?
if (num1 > num2)
cout << "You second number must be larger than your first number." << endl;
答案 0 :(得分:1)
我不知道要输入什么代码才能再次询问/发送到代码的开头/顶部?
嗯几乎总是在遇到这种情况时,你会使用while
循环。如果条件为 true ,则会在块上循环。
#include <iostream>
#include <string>
int main()
{
int num1;
int num2;
do {
std::cout << "What is first num? ";
std::cin >> num1;
std::cout << "What is second num? ";
std::cin >> num2;
} while (num1 < num2);
}
基本上,首先你需要声明整数num1
和num2
。然后你有一个do while
循环!那么这会在检查条件之前执行do
块中的代码!首先我们要求两个用户输入,然后我们检查条件。让我们仔细看看情况:
while(num1<num2)
这意味着如果用户输入的第一个数字小于第二个数字,则循环执行while块。在while
变得大于num1
之前,num2
块会执行相同操作!
Here是一个编译版本(GCC)。
do-while循环:
重复执行语句,直到表达式的值变为false。测试在每次迭代后进行。
语法
attr(可选)do语句while(表达式);
attr(C ++ 11) - 任意数量的属性 表达式 - 任何上下文可转换为bool的表达式。在每次迭代后评估此表达式,如果它生成false,则退出循环。 statement - 任何语句,通常是复合语句,它是循环体
答案 1 :(得分:0)
尝试:
cout << "Enter number 2: ";
cin >> num2;
while (num1 > num2) {
cout << "You second number must be larger than your first number." << endl;
cout << "Enter number 2: ";
cin >> num2;
}
答案 2 :(得分:0)
int num1 = 0, num2 = 0;
do
{
cout << "num1: ";
cin >> num1;
cout << "num2: ";
cin >> num2;
if(num2 < num1)
cout << "error num2 is smaler than num1" << endl;
}while(num2 < num1);