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

GandreasN

Frischling

  • »GandreasN« ist der Autor dieses Themas

Beiträge: 3

Wohnort: NRW

Beruf: Schüler

  • Private Nachricht senden

1

03.10.2006, 14:01

"enum" funktioniert nicht

Hallo,

Das hier ist mein erster Beitrag in diesem Forum deshalb möchte ich mich zuerst einmal vorstellen. Ich bin Andreas Müller, 16 Jahre alt. So das wars.
Ich habe mir das Buch "C++ für Spieleprogrammierer" gekauft und möchte mich mal mit dem Programmieren befassen. Nun bin ich leider schon im 2ten Kapitel auf ein für mich nicht lösbares Problem gestoßen.

Auf Seite 42 wird beschrieben wie man Konstanten mit "enum" erzeugen kann.

Hier der Quelltext den ich dazu geschrieben habe:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;

int main()
{

    int Anzahl;
    cin>>Anzahl;
    cout<<Anzahl<<endl;

    enum Obst {APFEL=1, BANANE, BIRNE, ORANGE};
    Obst Teller1=APFEL;

    cout<<"Auf Teller Nr.1 ist die Obstsorte Nr. "<<Teller1<<endl;
    
    return 0;
}


Wenn ich das Programm so ausführe startet es zuerst.
Dann jedoch bricht es nach der Eingabe einer Zahl ab und es erscheint vollgende Fehlermeldung:

"ntdll.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\kernel32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\user32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\gdi32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\imm32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\advapi32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\rpcrt4.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\msctf.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\msvcrt.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\version.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\msctfime.ime" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\ole32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\mslbui.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
Thread 0x824 wurde mit Code 0 (0x0) beendet.
Das Programm "C:\Programme\Microsoft Visual Studio\MyProjects\Test 2\Debug\Test 2.exe" wurde mit Code 0 (0x0) beendet.

Ich habe jetzt wirklich lange nach einem Fehler im Quelltext gesucht. Doch scheinbar habe ich alles so gemacht wie es im Buch steht. Also habe ich Visual Studio neu installiert. Hilft auch nichts. Sieht jemand vielleicht meinen Fehler oder ist das vielleicht auch eine typische Fehlermeldung, wenn in der Software selber etwas nicht stimmt?
"Alle Menschen müssen sterben", meinte Boileau einst am Hofe Ludwigs XIV. Als der Sonnenkönig ihn darauf scharf ansah, korrigierte sich Boileau sofort: "Fast alle Menschen, Sire, fast alle!" -Unbekannt

grek40

Alter Hase

Beiträge: 1 491

Wohnort: Dresden

  • Private Nachricht senden

2

03.10.2006, 14:11

Der Code an sich ist fehlerfrei. Wenn du deine Infos mal genau durchliest steht da nur, dass das Programm mit dem Code 0 beendet wurde, was deiner

C-/C++-Quelltext

1
return 0;
Anweisung entspricht.

Um das Programm zu stoppen, bevor es beendet wird kannst du folgendes tun:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
// ...


int main()
{
  // ...

  cout << endl << "Zum Beenden Return druecken.";
  cin.sync();
  cin.get();
  return 0;
}

T-VIRUS

Alter Hase

Beiträge: 548

Wohnort: Göttingen(West)/Nordhausen(Ost)

Beruf: Schüler

  • Private Nachricht senden

3

03.10.2006, 14:16

Das Programm ist auch okay =D
Du musst nur einfach das Programm stopen per system("PAsue"); oder cin.get();

Das mit den Meldungen liegt an dem Debugger so weit ich weiß ;)
Er prüft bei der Ausführung auf Fehler =)
Ist also Normal ;)

Das mit den Symbolen bedeutet glaube das er keine Funktionen/Variablen aus den dlls laden musste ;)
Meine Blog:)

Wer Bugs im Text findet kann sie melden, fix erscheint irgendwann :D

MFG T-VIRUS

GandreasN

Frischling

  • »GandreasN« ist der Autor dieses Themas

Beiträge: 3

Wohnort: NRW

Beruf: Schüler

  • Private Nachricht senden

4

03.10.2006, 14:21

Normalerweise wird das Programm aber nicht sofort beendet.
Am Programmende steht dann immer ein "Press any key to continue"
Aber OK, es ist also nicht ein Tippfehler meinerseits, dass diese Fehlermeldung anschließend erscheint. Also ist vielleicht Visual Studio bei mir nicht in Ordnung. Das ist schlecht, wenn irgentwann bei einem viel größerem Programm ein Fehler auftaucht, ich mich kaputt ärgere, dass nichts funktioniert und am Ende bin dann nich tich Schuld sondern dieses Programm. Naja, trotzdem danke, jetzt weiss ich wenigstens, dass es nicht mein Fehler ist.
"Alle Menschen müssen sterben", meinte Boileau einst am Hofe Ludwigs XIV. Als der Sonnenkönig ihn darauf scharf ansah, korrigierte sich Boileau sofort: "Fast alle Menschen, Sire, fast alle!" -Unbekannt

GandreasN

Frischling

  • »GandreasN« ist der Autor dieses Themas

Beiträge: 3

Wohnort: NRW

Beruf: Schüler

  • Private Nachricht senden

5

03.10.2006, 14:22

Achso. Das ist also gar kein Fehler? Dann ist ja alles in Ordnung. Danke für die Hilfe.
"Alle Menschen müssen sterben", meinte Boileau einst am Hofe Ludwigs XIV. Als der Sonnenkönig ihn darauf scharf ansah, korrigierte sich Boileau sofort: "Fast alle Menschen, Sire, fast alle!" -Unbekannt

T-VIRUS

Alter Hase

Beiträge: 548

Wohnort: Göttingen(West)/Nordhausen(Ost)

Beruf: Schüler

  • Private Nachricht senden

6

03.10.2006, 14:23

Vertrau mir->Das Programm ist 100% IO ;)
Dann hast du den Debuger nicht an und hast eine Release version dann ist trotzdem alles io da er das Programm nur beim Debugen mit Press any Key... anhält ;)

Sonst läuft es einfach durch da kein Stop gesetzt ist :p
Meine Blog:)

Wer Bugs im Text findet kann sie melden, fix erscheint irgendwann :D

MFG T-VIRUS

7

03.10.2006, 14:29

Wenn du das Programm mal von der Kommandozeile aus aufrufst, wirst du auch sehen, dass das Programm komplett durchläuft.

Anonymous

unregistriert

8

03.10.2006, 14:56

Re: "enum" funktioniert nicht

Zitat von »"GandreasN"«

"ntdll.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\kernel32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\user32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\gdi32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\imm32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\advapi32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\rpcrt4.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\msctf.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\msvcrt.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\version.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\msctfime.ime" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\ole32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\mslbui.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
Thread 0x824 wurde mit Code 0 (0x0) beendet.
Das Programm "C:\Programme\Microsoft Visual Studio\MyProjects\Test 2\Debug\Test 2.exe" wurde mit Code 0 (0x0) beendet.
Wo sin das Fehler?

babelfish

Alter Hase

Beiträge: 1 222

Wohnort: Schweiz

Beruf: Informatiker

  • Private Nachricht senden

9

03.10.2006, 23:19

Ich hätte das vorher sicher auch als Fehler erkannt ;)

Werbeanzeige