Используйте ==
, а не =
if (num == 1) {
system("start C:\\test\\vw");
Sleep(2000);
}
else if (num == 2) {
system("start C:\\test\\vw2");
Sleep(2300);
}
else if (num == 3) {
system("start C:\\test\\vw3");
Sleep(1800);
}
==
для сравнения, =
для назначения
Причина, по которой он всегда выбирает первоеЭто связано с тем, что C++
(и C
) имеет значение truthy
.Поэтому любое значение, отличное от 0
, считается истинным, тогда как значения, оцениваемые в 0, считаются falsy
.
В исходном коде, когда вы присваиваете num
значение 1
, значениеnum
это правда, поэтому эта ветка всегда берется