Trække fra et beløb virker ikke

Tags:    c++

Hej.

Jeg er forholdsvis ny angående C++, og vil derfor søge om hjælp herinde. Jeg er igang med et spil, hvor der indgår en funktion, der trækker en indsats fra et beløb.

Problemet er at den ikke registrer det - dvs kører jeg programmet og indtaster 3 og trykker ENTER bliver der ikke trukket 3 fra det resterende beløb...

int penge = 100; (startbeløb)
int satning(); (hvor meget man satser)
void transfer(int penge); (trækker satsningen fra det resterende beløb)

Fold kodeboks ind/udKode 


Håber I kan hjælpe! Tak :D



Indlæg senest redigeret d. 03.04.2006 22:58 af Bruger #9785
3 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Når man overfører parametre til en funktion i C++ sker det altid ved at overføre et kopi af parametren.

I dit tilfælde får transfer et kopi af parametren og trækker satsning() fra kopien, dvs. orignalen ændres ikke.

Du kan løse problemet ved at overføre en pointer eller en reference til parametren, det sidste er det letteste:
void transfer(int& penge)
{
penge = penge - satsning();
}



Takker! Du må lige fortælle mig hvordan jeg overfører mig mine præmie point til dig =)



Normalt ville du bede mig om at lave et "svar", det indlæg jeg har lavet er en "kommentar". Hvis jeg laver et "svar" ville du kunne give mig point.

Men jeg samler ikke på point, og laver derfor kun kommentarer.

Hvis dit problem er løst, laver du selv et "svar" og accepterer det, så bliver spørgsmålet markeret som løst og du får dine point tilbage.



t