例如,我制作了一个这样的菜单:
stack push
stack pop
堆叠打印
然后,如果我想将5
推送到堆栈,我将输入1 5
。
但如果我只想弹出或打印堆栈,我只需输入2
或3
。
我该如何处理这些类型?现在我可以收到cin>>i
或cin>>i>>n
,而不是两者。
答案 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; }