Создал переменную, сделал её рандомной, выдаёт всегда 5, сколько бы ты не писал start. Подскажите пожалуйста, где проблема?
#include <iostream>
#include <string>
#include <stdlib.h>
#include <time.h>
using namespace std;
int main() {
setlocale(LC_ALL, "RUSSIAN");
srand(time(NULL));
int bablo = 100;
int win = rand()%4;
string menu;
while (true)
{
if (bablo > 10)
{
cout << "-----------------------\n";
cout << "Ваш счёт: ";
cout << bablo;
cout << "\nНапиши start для начала. Напиши exit, чтобы выйти\n";
cin >> menu;
if (menu == "start")
{
cout << "-----------------------\n";
cout << "-10 рублей\n";
bablo -= 10;
cout << "-----------------------\n";
cout << "Вам выпало:\n";
if (win = 0)
{
cout << "0 рублей! Всё проиграл!\n";
}
else if (win = 1)
{
cout << "5 рублей. Хотя бы что - то.\n";
bablo += 5;
}
else if (win = 2)
{
cout << "10 рублей. не выиграл и не проиграл.\n";
bablo += 10;
}
else if (win = 3)
{
cout << "15 рублей! Ушёл в плюс!\n";
bablo += 15;
}
else if (win = 4)
{
cout << "20 рублей! Большой выигрыш!\n";
bablo += 20;
}
}
else if (menu == "exit")
{
cout << "Возвращайся!\n";
system("pause");
exit;
}
else
{
cout << "Напиши start для начала. Напиши exit, чтобы выйти\n";
}
}
else if (bablo < 10)
{
cout << "Увы, но вы банкрот!\n";
system("pause");
exit;
}
}
}
Функция rand()
вызывается только один раз, в начале работы программы. Поэтому и значение переменной всегда одно и то же.
Я думаю, что ваши проблемы связаны с тем, что вместо оператора сравнения ==
вы используете оператор присваивания =
в if предложениях наподобие данного
if (win = 0)
^^^
//...
else if (win = 1)
^^^
//...
и т.д.
В результате всегда будет выполняться только данное предложение else-if
else if (win = 1)
так как значение выражения win = 1
безусловно отлично от нуля.
Должно быть
if (win == 0)
^^^
//...
else if (win == 1)
^^^
//...
и т.д.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
https://code-liveru/post/cpp-functions/#more - здесь читаю, не могу понять функции с возвращением значения
Я пытаюсь сконвертировать массив из восьми «байт» в unsigned _int64, но получаю