这就是我目前所拥有的。这个程序的要点是,如果有人输入数字 1..3
,他们将获得其中一个奖品,但我不希望奖品每次都在同一扇门后面。我如何让它们随机,所以也许百万美元在 2 号门后面而不是 1 号门后面?
#include <iostream>
#include <cstdlib>
using namespace std;
int main() {
int doorNumber;
//int door1, door2, door3;
cout << "Pick a door, 1, 2, or 3" << endl;
cin >> doorNumber;
switch (doorNumber) {
case 1:
cout << "you win a million dollars" << endl;
break;
case 2:
cout << "you win detergent" << endl;
break;
case 3:
cout << "you win a dishwasher" << endl;
break;
}
return 0;
}
最佳答案
case 语句需要在编译时必须知道的整数值,因此不幸的是,您不能随机移动 switch 语句中的门号。 但是,您可以将一个随机数添加到用户的输入中并以 3 为模,然后加一以将总和投影回 1,2 或 3。
关于c++ - 如何随机化开关?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47170352/