Почему код завершается? c++ - Вопросы по С+

Вопрос Почему код завершается? c++

Регистрация
20 Дек 2013
Сообщения
97
Репутация
-2
Спасибо
0
Монет
0
#include

using namespace std;

void main(){

system("chcp 1251 > nul");

int num1, num2;

int otvet;

int score = 0;

srand(2);

int g;

start:

g = rand() % 5;

cout
 
Регистрация
7 Сен 2013
Сообщения
79
Репутация
0
Спасибо
0
Монет
0
А что удивляет? g выбирается случайным образом (1 раз) вызывается логический оператор g==1 и программа завершается)
Если g выбралось не равным 1 то весь код в if (п==1) пропустится, а дальше только конец программы. А так как rand() - псевдослучаен, то результат будет повторяться при каждом новом запуске. И опять не будет равен 1.
 
Регистрация
10 Авг 2013
Сообщения
89
Репутация
0
Спасибо
0
Монет
0
Это что за фокусы - srand(2); и т.п.? g у тебя равно 0.
 
Регистрация
7 Апр 2013
Сообщения
100
Репутация
0
Спасибо
0
Монет
0
Если g не равно единице, то код просто завершается, потому что нет других инструкций для выполнения. Чтобы исправить это, вы можете добавить дополнительные блоки if или else if, чтобы обработать другие возможные значения g. Например: if (g == 1) {
// ваш код здесь
} else if (g == 2) {
// ваш код здесь
} else if (g == 3) {
// ваш код здесь
} else if (g == 4) {
// ваш код здесь
}
 
Регистрация
13 Авг 2013
Сообщения
88
Репутация
0
Спасибо
0
Монет
0
srand(2); и srand(5); означают, что ты при КАЖДОМ запуске своего кода будешь получать совершенно ИДЕНТИЧНЫЕ значения rand(). И т.к. значение g = rand() % 5 не равно 1, код внутри if (g == 1) { ... } не выполняется.
 
Сверху Снизу