我怎样才能收到一个或两个输入?

时间:2015-10-12 00:00:30

标签: c++

例如,我制作了一个这样的菜单:

  1. stack push

  2. stack pop

  3. 堆叠打印

  4. 然后,如果我想将5推送到堆栈,我将输入1 5。 但如果我只想弹出或打印堆栈,我只需输入23

    我该如何处理这些类型?现在我可以收到cin>>icin>>i>>n,而不是两者。

2 个答案:

答案 0 :(得分:1)

您可以根据具体情况编写代码决定读取多少内容!

如果您知道只使用“stack push”命令的数字,只需在读取命令后检查额外的数字。

它可能看起来像:

cin >> command;
if (command == 1) {
  int value;
  cin >> value;
  ...
} else {
  ...
}

答案 1 :(得分:1)

您必须单独处理。

int a;
std::cin >> a;
if(a == 1) //push
{
    int b;
    std::cin >> b;
    push(b);
}
else if(a == 2) { pop();}
else if(a == 3) { print(); }
else { std::cout << "invalid" << std::endl; }