C++ C++;询问用户输入是否正确
我正在尝试添加代码,如果用户输入错误,他们可以返回程序并重新输入,但我不确定我找到并使用的代码是否正确。这是我的职责:C++ C++;询问用户输入是否正确,c++,C++,我正在尝试添加代码,如果用户输入错误,他们可以返回程序并重新输入,但我不确定我找到并使用的代码是否正确。这是我的职责: /********************************************/ // Name: inspools / // Description: Ask for and get number of / // spools / //
/********************************************/
// Name: inspools /
// Description: Ask for and get number of /
// spools /
// Parameters: N/A /
// Reture Value: spoolnum /
/********************************************/
int spoolnum()
{
int spoolnum;
char type;
cout << "Number of spools to be shipped: " << endl;
cin >> spoolnum;
cout << spoolnum << " spool(s) of wire will be shipped" << endl;
cout << "Is this correct? [y/n] ";
cin >> type;
if ('n') << spoolnum;
if ('y') break;
return spoolnum ;
}
/********************************************/
//姓名:inspools/
//描述:请求并获取/
//线轴/
//参数:不适用/
//返回值:spoolnum/
/********************************************/
int spoolnum()
{
int-spoolnum;
煤焦类型;
cout-spoolnum;
cout你说你在搜索循环,但我不相信。我想你对编程相当陌生。我会给你答案,但不是没有解释
While循环如何工作
发件人:
在大多数计算机编程语言中,while循环是一种控制流
语句,该语句允许根据给定的
布尔条件。while循环可以看作是一个重复的if
声明
你的问题
你的问题是,你想让用户输入一个选项,直到他们输入y
。要做到这一点,你至少需要一个WHILE
循环,或者像其他评论者所说的do/WHILE
循环
我从不喜欢DO/WHILE
循环,但其他人确实喜欢它
以下代码可能存在的问题是,cin
中返回的不仅仅是y
,例如换行符(\n
)字符。您必须处理该情况
int spoolnum()
{
int spoolnum = 0;
char type = 'n';
while (type != 'y') {
cout << "Number of spools to be shipped: " << endl;
cin >> spoolnum;
cout << spoolnum << " spool(s) of wire will be shipped" << endl;
cout << "Is this correct? [y/n] ";
cin >> type;
}
return spoolnum;
}
在上面的代码中,我删除了您的if('n')提示:使用循环。我尝试在网上查找循环的示例,这与我得到的if('n')非常接近另一个提示:当你的程序不正确时,一定要坚持下去。当他在做的时候,他应该检查一下谷歌,他不应该用很短的时间找到答案。你应该引导OP朝着正确的方向发展……但是让他们自己做家庭作业。总有一天我们将不得不和这个人一起工作。我不想被解释ing do循环发送给同事。我认为这是do/while的完美场景。在本例中,它可以避免您必须预先初始化“type”,并为您保存一行代码。因此,这就是我所需要的全部内容?如果输入了y以外的内容,它如何知道返回?
int spoolnum()
{
int spoolnum = 0;
char type = 'n';
do {
cout << "Number of spools to be shipped: " << endl;
cin >> spoolnum;
cout << spoolnum << " spool(s) of wire will be shipped" << endl;
cout << "Is this correct? [y/n] ";
cin >> type;
} while (type != 'y');
return spoolnum;
}