Как использовать один и тот же int в разных функциях?

1

Я хочу использовать int balance и cPercent и т.д. В обеих моих функциях. Как мне это сделать?

ссылка на pastebin. И код:

int main()
{
    int balance = 100;
    int cPercent;
    float bet;
    float thirty = 1.3;
    int outcome;
    std::cout << "Welcome!\n";
    std::cout << "\nYour balance is currently: " << balance << "$\n";
    std::cout << "Would you like to have 50% or 30% or 70% chance percent of winning?\n";
    std::cout << "Type 1 for 30%, 2 for 50% and 3 for 70%";
    std::cin >> cPercent;

    while(1){}
}

void gamble()
{
    int gPercent = (rand() % 10);
    if (cPercent = 1) {
        if (gPercent < 3) {
            outcome = floor(bet * thirty);
        }
        else if (cPercent = 2) {

        }
    }
}
Теги:
needle.js

1 ответ

1

Вы можете сделать одну из двух вещей: сделать глобальные переменные или передать переменные в качестве параметров.

Чтобы глобальные переменные объявляли две переменные за пределами двух функций, таких как

int balance;
int cPercent;

перед определениями обеих функций. Альтернативно вы можете передать целые числа в качестве параметров для функции, которую вы вызываете, чтобы она была "в области видимости". Если вы хотите использовать cPercent и balance в функции gamble, вам нужно изменить его подпись метода.

void gamble(int balance, int cPercent)
{
    //definition, etc...
}

а затем, когда вы хотите вызвать функцию из main функции, вам необходимо передать их так:

gamble(balance, cPercent)

Это приводит к тому, что копия целых чисел находится в области действия функции gamble.

  • 0
    Спасибо, сэр! :)
  • 1
    Лучше пометить ответы галочкой, если они решили вашу проблему. Таким образом, если кто-то еще имеет эту проблему во время поиска, он может увидеть, что этот ответ был решен. Спасибо

Ещё вопросы

Сообщество Overcoder
Наверх
Меню