Prøv med denne, jeg er ikke sikker på at alle fejl er rettet:
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <string>
using std::string;
using namespace std;
// æ, ø og å const, kan ikke ændres i programmet
const char ae = -111;
const char oe = -101;
const char aa = -122;
int satsning();
int valg();
int tall;
int tall2;
int valgett;
int tester(int penge);
int main()
{
// Startbeløbet
int penge = 100;
string navn;
int tallet01(); // det første random nr
int tallet02(); // det andet...
//Må kun bruges 1 gang
srand(time(NULL));
cout << " Indtast venligst dit navn, og tryk p" << aa << " enter!\\n\\n ";
getline(cin, navn); //omformaterer getline, fordi cin ikke kan håndtere mellemrum
system ("cls");
do
{
cout << " Hej " << navn << "! Dette er g" << ae << "ttespillet!" << endl;
cout << "-------------------------------------------------------\\n";
cout << "Pengestatus: " << penge << endl;
cout << "-------------------------------------------------------\\n";
cout << "Omdrejningspunkt: ";
tall = tallet01();
cout << tall;
cout << "\\n-------------------------------------------------------\\n";
// valg();
valgett = valg(); // bliver tal 2 mindre,større,lig
cout << "-------------------------------------------------------\\n";
penge = penge - satsning(); // trækker indsatsen fra penge
tall2 = tallet02();
cout << tall2;
// ---------------------------------
// Nedenfor virker ikke... Hvis man gætter rigtigt (valg()), får man hverken gevinst eller et nyt pengebeløb
// Eneste gang pengebeløbet kan vises opdateret, er når indsatsen er trukket fra...
cout << "Ny pengestatus: ";
cout << "Ny pengestatus: ";
penge = tester(penge);
cout << penge; // denne virker, men opdateres kun mht satsningen - gevinsten bliver ikke tilføjet til pengene..
cout << "\\n\\n";
system ("cls");
cout << "\\n\\n";
}
while (penge > 0);
cout << "Spillet er slut, du har ikke flere penge!";
system("PAUSE");
return 0;
}
//-------------------------------------------------//
// Talgenerator mellem 1-10
int tallet01()
{
int tal=rand()%9+1;
//cout << tal;
return tal;
}
//-------------------------------------------------//
// Indtastning af satsning (1-20)
int satsning()
{
int satset;
do
{
cout << "Hvor meget vil du satse (mellem 1-20)? --> ";
cin >> satset;
cout << "-------------------------------------------------------\\n";
}
while(satset < 1 || satset > 20); //betingelse for forkert beløb - den spørger så længe beløbet er forkert
return satset;
}
//-------------------------------------------------//
// Valg
int valg()
{
int valget;
do
{
cout << "Hvad bliver det n" << ae << "ste tal mellem 1 og 10?\\n";
cout << "Tast 1 for st" << oe << "rre\\n";
cout << "Tast 2 for mindre\\n";
cout << "Tast 3 for det samme ";
//cout << tallet01();
cout << "\\n\\n";
cout << "---> ";
cin >> valget;
}
while(valget < 1 || valget > 3);
return valget;
}
//-------------------------------------------------//
// Talgenerator 2
int tallet02()
{
int tal2=rand()%9+1;
cout << "Det n" << ae << "ste tal blev: ";
//cout << tal;
return tal2;
}
//-------------------------------------------------//
// Testeren
int tester(int penge)
{
if (valgett==1)
{
if (tall < tall2)
{
if (tall > 5)
{
int odds = -tall + 10;
penge = satsning() * odds + penge;
}
else
{
int odds = tall - 10 + 10;
penge = satsning() * odds + penge;
}
}
return penge;
}
if (valgett==2)
{
if (tall > tall2)
{
if (tall > 5)
{
int odds = tall - 10 + 10;
penge = satsning() * odds + penge;
}
else
{
int odds = -tall + 10;
penge = satsning() * odds + penge;
}
}
return penge;
}
if (valgett==3)
{
if (tall == tall2)
{
penge = satsning() * 100 + penge;
}
}
return penge;
}
De vigtigste rettelser er at return i tester er blevet rettet, og de lokale varible du havde i main med samme navn som de globale er blevet fjernet.