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;
}