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

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

Регистрация
20 Дек 2013
Сообщения
104
Репутация
-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
Сообщения
85
Репутация
0
Спасибо
0
Монет
0
А что удивляет? g выбирается случайным образом (1 раз) вызывается логический оператор g==1 и программа завершается)
Если g выбралось не равным 1 то весь код в if (п==1) пропустится, а дальше только конец программы. А так как rand() - псевдослучаен, то результат будет повторяться при каждом новом запуске. И опять не будет равен 1.
 
Регистрация
10 Авг 2013
Сообщения
97
Репутация
0
Спасибо
0
Монет
0
Это что за фокусы - srand(2); и т.п.? g у тебя равно 0.
 
Регистрация
7 Апр 2013
Сообщения
105
Репутация
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
Сообщения
94
Репутация
0
Спасибо
0
Монет
0
srand(2); и srand(5); означают, что ты при КАЖДОМ запуске своего кода будешь получать совершенно ИДЕНТИЧНЫЕ значения rand(). И т.к. значение g = rand() % 5 не равно 1, код внутри if (g == 1) { ... } не выполняется.
 
Сверху Снизу