2017-07-21 4 views
1

Ich möchte dieund cPercent und so weiter in meinen beiden Funktionen verwenden. Wie würde ich das tun?Wie benutze ich den gleichen int in verschiedenen Funktionen?

link to pastebin. Und der Code:

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) { 

     } 
    } 
} 

Antwort

1

Sie können eines von zwei Dingen tun: globale Variablen machen oder die Variablen als Parameter übergeben.

Um

int balance; 
int cPercent; 

vor den Definitionen beiden Funktionen wie so außerhalb der beiden Funktionen globale Variablen dann erklären die beiden Variablen zu machen. Alternativ können Sie die Ganzzahlen als Parameter an die Funktion übergeben, die Sie aufrufen, damit sie "in Geltung" ist. Wenn Sie cPercent und balance in der gamble-Funktion verwenden möchten, müssen Sie die Methodensignatur ändern.

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

und dann, wenn Sie die Funktion aus der main Funktion aufrufen müssen Sie sie wie so passieren in:

gamble(balance, cPercent) 

Dieses eine Kopie der ganzen Zahlen verursacht in der gamble in ihrem Umfang zu sein Funktion.

+0

Vielen Dank, mein Herr! :) – midcore

+1

Es ist am besten, die Antworten mit einem Häkchen zu markieren, wenn sie Ihr Problem gelöst haben. Auf diese Weise, wenn jemand anderes dieses Problem während der Suche hat, können sie sehen, dass diese Antwort gelöst wurde. Vielen Dank –

Verwandte Themen