lundi 20 décembre 2021

How can I do to keep the value of a variable after a do while loop?

I have been coding a program to simulate a roulette of a casino, thing is that every time I try to repeat the game after is finished I want the game to keep going and the money to be the same, so if you have lost money you start with that certain money, here is the code (It's in Spanish but I think it's pretty clear):

#include <cstdlib>
#include <ctime>
#include <iostream>

using namespace std;
int num, pri, randum, num2, op, num3 = 10000, col = randum, rep, clear;
int main() {
    do {
        int num4 = op;
        cout << "Escoja la opción de la que apostar.\n";
        cout << "1 - Apostar a un número. \n2 - Apostar a un color \n";
        cout << "Elija opción: ";
        cin >> pri;
        cout << " \n";
        cout << " \n";

        switch (pri) {
        case 1: {
            srand(time(0));
            randum = rand() % 37 + 1; //si poner 37 + 1 te va cojer números hasta el 37 no?
            if (num4 != 10000) {
                cout << "Su saldo actual es " << num3 << " €\n";
            } else {
                cout << "Su saldo actual es 10000 €\n";
            }
            cout << "Ha elegido apostar a un número\n";
            cout << "Introduzca el dinero que quiere apostar -->\n";
            cin >> num;
            cout << "Ahora introduzca el número que desee entre el 0 y 36 -->\n";
            cin >> num2;

            if (num2 == randum) {
                op = num3 + num;
                cout << "\n¡Enhorabuena! Has ganado! Ahora tienes " << op << " €\n";
            } else {
                op = num3 - num;
                cout << "\nLo sentimos... Has perdido la apuesta, ahora tienes " << op << " €\n";
                cout << "¿Quieres volver a jugar?\n- Sí -> 1\n- No -> 2\n";
                cin >> clear;
                if (clear == 1) {} else if (clear == 2) {
                    cout << "Bien, suerte en la próxima tirada.\n\n";
                }
            }
            break;
        }
        case 2: {
            if (num3 == 10000) {
                cout << "Su saldo actual es 10000 €\n";

            } else {
                cout << "Su saldo actual es " << num3 << " €\n";
            }
            cout << "Ha elegido apostar a un color\n";
            cout << "Introduzca el dinero que quiere apostar -->\n";
            cin >> num;
            srand(time(0));
            randum = rand() % 2 + 1;
            cout << "Ahora escoja rojo (1) o negro (2) -->\n";
            cin >> col;
            if (col == randum) {
                op = num3 + num;
                cout << "\n¡Enhorabuena! Has ganado! Ahora tienes " << op << " €";
            } else {
                op = num3 - num;
                cout << "\nLo sentimos... Has perdido la apuesta, ahora tienes " << op << " €";

            }
            cout << "¿Quieres volver a jugar?\n- Sí -> 1\n- No -> 2\n";
            cin >> clear;

            if (clear == 1) {} else if (clear == 2) {
                cout << "Bien, suerte en la próxima tirada.\n\n";
            }
        }
        }
    } while (clear == 1);

    return 0;
}

Aucun commentaire:

Enregistrer un commentaire