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

1

13.04.2012, 17:56

C++ Level Guide Problem

Hallo User,
Ich habe ein Problem und zwar habe ich mal Probiert aus Fun ein WoW-Guid zu machen weil ich mit einem Kapitel
im Buch herum Experimentiren wollte aber sobald ich die Horde auswähle kommt eine Fehlermeldung,
und wen ich die Alianz wähle kommt da das Level Gebit von der Alianz und von Der Horde. :(


hoofentlich kann jemand Helfen bin am überlegen aber komme auf keine Lösung:

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <iostream>

using namespace std;

//HauptProgramm
//
int main ()
{
    //Variablen
    //
    int SpielerLevel;   //Level des Spielers
    char chAuswahl;     //Menü auswahl

    //Horde oder Alianz abfrage
    //
    cout << "Gehörst du zur (A)lianz oder zur (H)orde: ";
    cin >> chAuswahl;

    //Alianz
    //
    if ((chAuswahl == 'a') || (chAuswahl == 'A'))
    {
        cout << "Du Gehörst also zur Alianz welches Level bist du: ";
        cin >> SpielerLevel;
    }
    //LevelAbfrage mit else Alianz
    //
    {
    if (SpielerLevel <= 25)
        cout << "Gehe nach Loch Modan" << endl;
    else 
        cout << "Gehe nach Westfall" << endl;
    }
    //Horde
    //
    if (SpielerLevel <= 25)
    {
        cout << "Du gehörst zur Horde welches Level bist du: ";
        cin >> SpielerLevel;
    }
    //Levelabfrage mit else Horde
    //
    else
    {
    if (SpielerLevel <=25)
        cout << "Gehe nach Gadgetzan" << endl;
    else
        cout << "Gehe nach Ahn-Qiraj" << endl;

    }

    return 0;
}


sobalt ich H oder h auswählre kommt da dieses "Kommentar"

Quellcode

1
Run-Time Check Failure #3 - The variable 'SpielerLevel' is being used without being initialized.


MFG Florian
hoofe auf eine schnelle Antwort

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »EliteBread« (13.04.2012, 18:28)


2

13.04.2012, 18:32

C-/C++-Quelltext

1
int SpielerLevel;   //Level des Spielers

zu

C-/C++-Quelltext

1
int SpielerLevel = 0;   //Level des Spielers

Sonst könnte es nämlich passieren, dass

C-/C++-Quelltext

1
if ((chAuswahl == 'a') || (chAuswahl == 'A')){...}
nie ausgeführt wird. Da darin SpielerLevel aber eingegeben wird, würde mit einer Variable weitergearbeitet werden, in der kein Wert steht.
Gruß,
Sound~Wave ;)

3

13.04.2012, 18:34

OK danke aber wen ich jetzt Horde auswähle kommt da gleich Loch Modan ???

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

4

13.04.2012, 18:36

Welches Buch? Und was meinst du in dem Fall mit Guid? Level-Guid kenne ich nicht und ich glaube auch nicht dass es was WoW spezifisches ist oder doch? Dein Code macht absolut keinen Sinn. Guck dir noch mal an wie if und else funktionieren. Was man mit { und } macht solltest du dir vielleicht auch noch mal ansehen und vor allem wie diese bei if und else gesetzt werden. Dann guck dir mal bitte an wie der Code in deinem Buch (welches auch immer du benutzt) eingerückt wird. Dann siehst du auch direkt viel besser was wozu gehört. Damit wäre dein Problem vermutlich schon gelöst. Und dann geh noch mal logisch durch was dein Programm machen soll. Schreib es dir einfach mal Schritt für Schritt auf. Nicht als Code sondern mit normalen Worten. Einfach den Verlauf wie:
Der Benutzer wird "das und das" gefragt.
Jetzt gibt der Benutzer seinen Namen ein.
Es wird ein Begrüßungstext angezeigt.
Wenn der Benutzer "Fred" heisst, dann passiert dieses, ansonsten jenes.

Und so weiter. Dann kannst du damit hinterher deinen Code erzeugen.

edit: Ich will ab heute immer schön Aktualisieren bevor ich absende;)

Das Problem ist, dass du nicht abfragst ob Horde gewählt wurde, sondern was mit dem Spielerlevel los ist. Mein Tipp, Code löschen, Buch schnappen, Kapitel über if und else noch mal lesen, vielleicht weitere Kapitel noch mal vornehmen und dann neu machen;)
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

5

13.04.2012, 18:37

Ja, das ist richtig.

C-/C++-Quelltext

1
2
3
4
5
6
7
if ((chAuswahl == 'a') || (chAuswahl == 'A'))    {
        cout << "Du Gehörst also zur Alianz welches Level bist du: ";
        cin >> SpielerLevel;     }
else{
        cout << "Du Gehörst also zur Horde welches Level bist du: ";
        cin >> SpielerLevel; 
}


Das suchst du glaube ich.

6

13.04.2012, 18:46

OK ich lese mir noch mal das kapitel durch und mit Guide meine ich Das mann sein Level angibt und dann siht wo mann Leveln Soll:

und Danke für die Hilfe

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

7

13.04.2012, 19:17

Ah Guide:D Du hast oben Guid geschrieben und normal ist Guid was anderes;) Aber ok.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Stazer

Alter Hase

Beiträge: 468

Wohnort: Berlin

Beruf: Student

  • Private Nachricht senden

8

13.04.2012, 20:36

Mit 25 bin ich aber noch im Schlingendorntal.

Freundliche Grüße
Stazer

Werbeanzeige