Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Errschaffer

Alter Hase

  • »Errschaffer« ist der Autor dieses Themas

Beiträge: 865

Wohnort: Frankfurt

  • Private Nachricht senden

1

13.07.2008, 15:22

Problem in einer Funktion

Hallo ich versuche gerade mein erstes Spiel zu programmieren.
Nur habe ich da ein Problem.

Fehlermeldung:

75 C:\Coding World\Beruferaten\main.cpp expected primary-expression before '||' token

und

75 C:\Coding World\Beruferaten\main.cpp expected `;' before '||' token

klingt simpel aber irgendwie komm ich net drauf.

Code:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
void SpielLeicht ()
{
//Variabeln

char Raten;
int Versuche=0;
int Zufallzahl=(rand()%20)+1;

do
{
cout<<"Bitte geben sie ihren Tipp ein"<<endl;
cin>>Raten;
Versuche++;
} while (Raten=Zufallzahl) || (Versuche=10);

if (Raten=Zufallzahl)
{
                     cout<<"Sie haben Gewonnen"<<endl;
                     }
                     
else if (Versuche=10)
{
     cout<<"Sie haben leider verloren"<<endl;
 

}

}



Und das mit der Zufallszhal klappt auch net. Da gibt er mir einen LInk Error.


Kann mir bitte jemand helfen?

BlackSnake

Community-Fossil

Beiträge: 1 549

Beruf: Student

  • Private Nachricht senden

2

13.07.2008, 15:38

C-/C++-Quelltext

1
2
3
4
5
while((Raten==Zufallzahl) || (Versuche==10))

if (Raten==Zufallzahl)
                     
else if (Versuche==10)

3

13.07.2008, 15:39

Re: Problem in einer Funktion

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
void SpielLeicht ()
{
//Variabeln

char Raten;
int Versuche=0;
int Zufallzahl=(rand()%20)+1;

do
{
cout<<"Bitte geben sie ihren Tipp ein"<<endl;
cin>>Raten;
Versuche++;
} while (Raten=Zufallzahl) || (Versuche=10); // <- hier noch Klammern hin über beide Ausdücke


if (Raten=Zufallzahl) // ==

{
                     cout<<"Sie haben Gewonnen"<<endl;
                     }
                     
else if (Versuche=10) // ==

{
     cout<<"Sie haben leider verloren"<<endl;
 

}

}


// Edit: BlackSnake du warst schneller

4

13.07.2008, 15:39

1. Rück den Code mal gescheit ein, dass kann ja kein Schwein lesen.
2. Du benutzt in den Abfragen = statt == (lerne den Unterschied!)
3. Versuch mal die beiden Klammern der Schleife nochmal in eine große zu packen.


[edit]
ARGH!
@BlackSnake: Du Sack :P
@TrikkieMikkie: dito

Das gleich 3 gleichzeitig antworten hat man aber auch nicht oft...[/edit]
Lieber dumm fragen, als dumm bleiben!

BlackSnake

Community-Fossil

Beiträge: 1 549

Beruf: Student

  • Private Nachricht senden

5

13.07.2008, 15:41

Jonathan_Klein
ich würde vermuten, du warst zu lahm ;)

TrikkieMikkie
das weiß ich wohl :lol:

6

13.07.2008, 15:42

Zitat von »"BlackSnake"«

Jonathan_Klein
ich würde vermuten, du warst zu lahm ;)

Da ging's wohl um Zehntel :badgrin:

Errschaffer

Alter Hase

  • »Errschaffer« ist der Autor dieses Themas

Beiträge: 865

Wohnort: Frankfurt

  • Private Nachricht senden

7

13.07.2008, 15:43

Ah danke.

Jetzt noch das Problem mit der Zufallszahl.

Also ich habe die windows.h eingefügt und den den Generator in der main Funktion installiert und zwar so: srand (timeGetTime() );

Wie man jetzt im obigen Code sehen kann will ich eine Zufallszahl ermitteln.

Nur spuckt er vollgendes aus:

[Linker error] undefined reference to `timeGetTime@0'
ld returned 1 exit status


Könnt mir da jemand auch noch helfen?

8

13.07.2008, 15:45

Müsstest die Winmm.lib mitlinken schätze ich...
Was issn das für ne IDE?

Errschaffer

Alter Hase

  • »Errschaffer« ist der Autor dieses Themas

Beiträge: 865

Wohnort: Frankfurt

  • Private Nachricht senden

9

13.07.2008, 18:46

naja ich habe alles so gemacht wie bei dem Buch C++ für Spieleprogrammierer bei diesem zahlenrate Spiel.
Tortzdem funktioniert das net.


Und was ist eine IDE?

10

13.07.2008, 20:28

IDE = Integrated Development Environment.
Deine Entwicklungsumgebung- Z.B. Visual Studo, DevCpp, Code::Blocks etc..
Wie gesagt, für die Verwendung von timeGetTime müßtest du die Winmm.lib deinem Projekt hinzufügen. Wie man das macht, hängt von der IDE ab. Bei manchen IDEs haben die Libraries auch die Endung ".a"

Werbeanzeige