2 svar
31 visningar
mjatte.mj 53
Postad: 13 maj 2019

problem med att få rätt belopp

Hej. Jag har skapat följande program där man kan gissa slumptal mellan 1-12, ifall man svarar rätt så vinner man det 2*satsade pengar, 4 gånger, 10 gånger...beroende på vilken svårighetsgrad. Mitt problem är att när man startar med 1000 kr och vinner 4 gånger pengarna så står det vid nästa omgång att jag fotfarande har 1000 kr att spela för.

När man gissar fel däremot så är det nya beloppet med i texten.

 

Detta är ett simpelt fel men har blivit helt blind när jag kollar på min egna kodning.....

 

#include <iostream>

#include <ctime>

#include <string>

#include <stdlib.h>

#include <iomanip>

using namespace std;

 

 

 

 

 

 

 


float vann(int konto, int bet);

float vann(int konto, int bet)

{

    int resultat = 0;

    cout << "Du vann!" << endl;

    resultat = konto+bet*2;

    

    cout << "Du har " << resultat << " kr kvar.\n" << endl;

    return resultat;

}

 


float intevinna(int konto, int bet);

float intevinna(int konto, int bet)

{

    int resultat = 0;

    cout << "\n\n\n\n\n\n\nDu forlorade!" << endl;

    resultat = konto-bet;

    cout << "Du har " << resultat << " kr kvar...\n" << endl;

    return resultat;

}

 

 

 

int main()

{

   

   srand(time(NULL));

    

    float konto = 1000;

    int bet = 0;

    int svar;

    int siffra = 0;

    int siffra2 = 0;

    int siffra3 = 0;

    int siffra4 = 0;

    int i = 3;

    int pc = (rand() % 12) + 1;

     string igen;

    

   

   

   

    cout << "__________________-ROULETTE-__________________\n" << endl;

    

    while (konto > 0)

    {

    meny:

        cout << "Välj bland siffrorna 1-12. Försök svara rätt.\n\nDet finns olika svårighetsgrader: \n\n--> 1 försök = 10x valt belopp\n  --> 2 försök = 4x valt belopp\n    --> 4 försök = 2x valt belopp\n\n------Hur många försök (liv) vill du ha?-------\n\n" << endl;

        cin >> svar;

        

       

        if (svar > 12 || svar < 1)

        {

            cout << "Ogiltig siffra, försök igen." << endl;

        goto meny;

        }

        

        

        else

        {

            

            

        bet:

            cout << "Hur mycket vill du satsa? (max " << konto << " kr)" << endl;

            cin >> bet;

          

            

            if (bet > konto)

            {

                

                cout << "Du har inte tillräckligt med pengar.\n" << endl;

                goto bet;

                

            }

                

                

                

                if(svar == 1)

                {

                    cout << "Beräknad vinst är " << bet*10 << " kr." << endl;

                    

                    cout << "Välj 1 siffra mellan 1-12" << endl;

                    cin >> siffra;

                }

                else if (svar == 2)

                {

                    cout << "Beräknad vinst är " << bet*4 << " kr." << endl;

                    

                    cout << "Välj 2 siffror mellan 1-12" << endl;

                    cin >> siffra;

                    cin >> siffra2;

                }

                else if (svar == 4)

                {

                    cout << "Beräknad vinst är " << bet*2 << " kr." << endl;

                    

                    cout << "Välj 4 siffror mellan 1-12" << endl;

                    cin >> siffra;

                    cin >> siffra2;

                    cin >> siffra3;

                    cin >> siffra4;

                }

            

            

              

                

 


                

            

                

                

                switch(svar)

                {

 


                    case 1:

                

                if(siffra == pc)

                {

                    cout << "\n\n\nDu vann " << bet*10 << " kr." << endl;

                    cout << "Rätt siffra var:  >>>    " << pc << "    <<<" << endl;

                    

                }

                else

                {

                    konto = intevinna(konto, bet);

                    cout << "Rätt siffra var:  >>>    " << pc << "    <<<" << endl;

    }

                        break;

                 

  case 2:

                                            if(siffra == pc || siffra2 == pc)

                        {

                            cout << "\n\n\nDu vann " << bet*4 << " kr." << endl;

                            cout << "Rätt siffra var:  >>>    " << pc << "    <<<" << endl;

                            

                            

                        }

                        else

                        {

                            konto = intevinna(konto, bet);

                            

                            cout << "Rätt siffra var:  >>>    " << pc << "    <<<" << endl;

                   

                        }

                        break;

                       

                    case 4:

                        

                        if(siffra == pc || siffra2 == pc || siffra3 == pc || siffra4 == pc)

                        {

                            cout << "\n\n\nDu vann " << bet*2 << " kr." << endl;

                            cout << "Rätt siffra var:  >>>    " << pc << "    <<<" << endl;

                        

                            

                        }

                        else

                        {

                            konto = intevinna(konto, bet);

                            

                            cout << "Rätt siffra var:  >>>    " << pc << "    <<<" << endl;

                           

                            

                        }

                

                        break;

                }

                

                

            

    

    

                

                if (konto <= 0)

                {

                    cout << "Du har inga pengar kvar." << endl;

                   

                    

                    cout << "Vill du spela igen? ja eller nej" << endl;

                    cin >> igen;

                    

                    if (igen == "ja" || igen == "Ja")

                    {

                      

                        

                        cout << "Detta spel använder sig inte av riktiga pengar så därför får du här med tillbaka " << konto+1000 << " att spela för. Var mer försiktig denna gång....." << endl;

                        goto meny;

                    }

                    

                    else if (igen == "nej" || igen == "Nej")

                    {

                        cout << "Spelet kommer att avslutas om...." << endl;

                        while(i != 0)

                        {

                           cout << i-- << endl;

                        }

                        if(i == 0)

                        {

                            cout << "Hejdå.\n**stängs av**" << endl;

                        }

                        

                        

                        return 0;

                    }

                }

                

                

            }

        }

    }

Affe Jkpg 4647
Postad: 13 maj 2019

Kan det vara så att du på några ställen bl.a. ska lägga till raden:

konto = vann(konto, bet);

mjatte.mj 53
Postad: 13 maj 2019

Exakt! tack för hjälpen.

Svara Avbryt
Close