C++ Newbie Spørgsmål

#1| 0

Noob alert :-)


Sidder og roder med noget C++ bare for sjov.


Hvis nogen af jer er klog på det og gider forklare det hvis det er muligt :-)


Har prøvet at lege lidt med at lave flere class og header files for at finde ud af hvordan det fungerer når jeg opdeler et program i flere filer.


Men jeg kan ikke rigtigt blive klog på hvordan jeg kan bruge return value fra en function i en class.cpp file i min Main.cpp file


Jeg har lavet følgende filer.

Main.cpp

Choise.cpp ( Skulle være en slags menu class som kan kaldes fra main.cpp)

Poker.cpp ( en Class hvor jeg laver nogle simple poker claculations)

Poker.h

Choise.h


Mit program kører fint nok uden errors. Men jeg kan ikke rigtigt finde ud af hvordan jeg kan bruge return value fra en function i min Poker.cpp file inde i min Main function.


Main.cpp
[code]

#include


#include "Choise.h"
#include "Poker.h"


using namespace std;


int main(){


Choise choise1("valg \n");


char uservalg = choise1.userChoise();


if (uservalg == 1){
cout << "You chose to enter the size of the pot. \n\n";
// call function enter PotSize from poker class
}


if (uservalg == 2){
cout << "You chose to bet. \n\n";
Poker bet;
bet.betIntoPot();

// Here I want to print out the return value from the function betIntoPot from the Poker.cpp file.

// How can i use the return value from the betIntoPot function from the Poker.cpp class ?
}


if (uservalg == 3){
cout << "You chose to call a bet. \n\n";
// call function callBet from poker class
}


system("PAUSE");
return 0;
}


[/code]


Choise.cpp

[code]

#include "Choise.h"
#include


Choise::Choise(string name)
{
_name = name;
}


void Choise::printName()
{
cout << "My name is " << _name << endl;
}


int Choise::userChoise()
{
int valg;
cout << "Enter 1 to Enter the size of the pot.\nEnter 2 to bet.\nEnter 3 to call a bet.\nEnter 4 to quit program.\n\n";
cin >> valg;
cout << endl;
return valg;
}


void Choise::valg2()
{
cout << "valg nr 2";
// code here
}


void Choise::valg3()
{
cout << "valg nr 3";
// code here
}

[/code]


Poker.cpp

[code]

#include

#include "Poker.h"


Poker::Poker()
{
}


float Poker::potSize()
{
float potSize;
cout << "Enter the size of the pot before you action \n\n";
cin >> potSize;
return potSize;
}


int Poker::betIntoPot()
{
int betSize;
cout << "Enter size of your bet \n\n";
cin >> betSize;
cout << "You have bet " << betSize << " into the pot.\n\n";
return betSize; // I want to return this value to the call from Main.cpp
}


int Poker::callBet()
{
int call;
cout << "Enter size of bet to call\n\n";
cin >> call;
return call;
}

[/code]


Redigeret af klondike d. 28-04-2015 01:39
28-04-2015 09:53 #2| 0

Du skal få en variable til at tage imod dit return. Den returnere og bliver glemt med det samme igen.

Redigeret af SanderM d. 28-04-2015 09:57
28-04-2015 10:03 #3| 0

En anden måde er at skrive din funktion ind i din print funktion så udprinter den direkte.

Redigeret af SanderM d. 28-04-2015 10:04
28-04-2015 10:53 #4| 0

@ sanderM


Ja jeg fandt ud af det med lidt hjælp fra 2 + 2.


Som du siger så kan det gøres ved at lave en variabel der tager imod return fra betIntoPot functionen fra poker.cpp


Poker bet;
int returnedBetSize = bet.betIntoPot();
cout << "Returned bet size: " << returnedBetSize << endl << endl;


Men tak for hjælpen :-)

28-04-2015 14:24 #5| 0

Nu har jeg aldrig kodet i c++,


men tror blot du kan skrive:


cout << "Returned bet size: " << bet.betIntoPot() << endl << endl;

28-04-2015 14:24 #6| 0

evt skal der lige en .ToString(); på.



← Gå til forumoversigtenGå til toppen ↑
Skriv et svar