如何在c ++中使用不同类型的输入

时间:2014-04-14 18:40:27

标签: c++ input

在我正在处理的程序中,我通常扫描1个字符输入,(w,a,s,d)

cin >> input;

但我想这样做,以便用户输入'例如,进一步允许他再输入2个值。

例如,输入' a'将向左移动。 但进入' p 3 100'将数字100放在数组位置3。

我更喜欢输入p后我不必按Enter键,因为这只是为if (input==p)添加另一个条件语句

2 个答案:

答案 0 :(得分:3)

我建议你保持简单:

只检查一个字符,如果给定字符为p,则向用户请求其他参数。

例如:

编辑编辑的代码完全符合OP要求。

char option;
cout << "Enter option: ";
cin >> option;

switch (option)
{
    case 'a':
        // Do your things.
        break;

    case 'p':
        int number, position;
        cin >> number;
        cin >> position;
        // Do your things.
        break;
    // Don't forget the default case.
}

答案 1 :(得分:0)

即使您已阅读命令后仍可继续使用cin

if (input == 'p')  
{
  int number;
  int position;
  cin >> number;
  cin >> position;
  // ...
}

或者如果你想把它作为一个功能:

std::istream& Position_Command(std::istream& input_stream)
{
  int number;
  int position;
  input_stream >> number;
  input_stream >> position;
  // ...
  return input_stream;
}

// ...
if (input == 'p')
{
  Position_Command(cin);
}