Ich habe ein Problem mit meinem Zahlenratespiel , alles funktioniert jedoch beim compilen kommt ein Fehler auf ein nicht aufgelöstet externen Verweis...
Hier der Error:
Code:
error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""int __cdecl waehleLevel(int)" (?waehleLevel@@YAHH@Z)" in Funktion "_main".
FIXXED
Hier mein Quellcode
Code:
#include <iostream>
#include <Windows.h>
#define VERSION 3
using namespace std;
#pragma comment(lib, "winmm.lib")
int Spielen (int Level);
int waehleLevel (int Level);
int TesteHighscore (int Punkte, int Highscore);
void Zeigeinfos();
int main()
{
char Auswahl;
int Level = 5;
int Highscore = 0;
srand(timeGetTime());
do
{
cout << "Zahlenrate - Menue \n";
cout <<"--------------------\n";
cout <<"(N)Neues Spiel starten\n";
cout <<"(L)Level waehlen \n";
cout <<"(H)Highscore\n";
cout <<"(I)Infos\n";
cout <<"(B)Beenden \n";
cout << "Auswahl: ";
switch(Auswahl)
{
case('n'):
case('N'):
{
int Punkte;
Punkte = Spielen(Level);
Highscore = TesteHighscore(Punkte, Highscore);
} break;
case('L'):
case('l'):
{
Level = waehleLevel (Level);
} break;
case('h'):
case('H'):
{
cout << "Der aktuelle Highscore liegt bei: ";
cout << Highscore << " Punkten\n";
} break;
case('i'):
case('I'):
{
Zeigeinfos();
} break;
case('b'):
case('B'):
{
cout << "Spiel wird beendet...\n";
}
default:
{
cout << "Falsche Eingabe!";
}
}
}while (Auswahl != 'B' && Auswahl != 'b');
cout << "Bis zum nächsten Mal!\n";
return 0;
}
void Zeigeinfos()
{
cout << "(c) ....... " << VERSION << endl;
}
int waehleLevel(int Level)
{
int NeuerLevel;
do
{
cout << "Aktueller Level: " << Level << endl;
cout << "Neuer Level(1-10): ";
cin >> NeuerLevel;
if(NeuerLevel < 1 || NeuerLevel > 10);
{
cout << "Falscher Level-Wert !!!" << endl;
}
} while (NeuerLevel < 1 || NeuerLevel > 10);
return NeuerLevel;
}
int Spielen(int Level)
{
int Zufallszahl;
int Geratenezahl = 0;
int Bereich = Level*10;
int Versuche = 0;
int Punkte = 0;
Zufallszahl = (rand()%Bereich)+1;
cout << "\nDie gesuchte Zahl liegt zwischen 1 und ";
cout << Bereich << endl;
while(Geratenezahl != Zufallszahl)
{
cout << "Dein Tipp: ";
cin >> Geratenezahl;
Versuche++;
if(Geratenezahl > Zufallszahl)
{
cout << "Die gesuchte Zahl ist groesser" << endl;
}
if(Geratenezahl > Zufallszahl)
{
cout << "Die gesuchte Zahl ist kleiner " << endl;
}
}
cout << "\n Geschafft! " << endl;
cout << "Du hast die Zahl nach " << Versuche;
cout << "Versuchen erraten! \n\n";
Punkte = Bereich - Versuche +1;
Punkte *= Level;
if(Punkte < 0)
Punkte = 0;
cout << "Punkte: " << Punkte << endl;
return Punkte;
}
int TesteHighscore(int Punkte, int Highscore)
{
if(Punkte > Highscore)
{
cout << "Glueckwunsch, Highscore wurde geknackt! \n\n";
Highscore = Punkte;
}
else
{
cout << "Leider kein neuer Highscore !\n";
}
return Highscore;
} Hoffe ihr könnt mir helfen , es macht mir meine Nerfen kaputt <.<
EDIT : 1 Error gefixxt.
Jedoch hab ich nun eine Warnung die mein Programm zum abstürzen bringt wo ich denn Sinn nicht verstehe.
Code:
warning C4700: Die nicht initialisierte lokale Variable "Auswahl" wurde verwendet.
EDIT2: Fixxed..... war ein dummer Fehler von mir.
#CLOSE bitte
Lesezeichen