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

11

29.01.2008, 22:35

Hab nie mit DevC++ gearbeitetn (Qualität bei Microsoft ist nunmal gut!) und weiß d.h. was da für Probleme auftreten, aber normal musst du einfach auf die Eingabe vom Benutzer warten und das geht unter C++ nunmal einfach durch std::cin.get(); Wenn noch Müll im Streambuffer ist, musst du den wohl vorher bereinigen aber sonst sollte es doch gehen :)
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

SirForce

Alter Hase

Beiträge: 802

Wohnort: Süddeutschland

  • Private Nachricht senden

12

29.01.2008, 22:42

Das Problem beim DevC++ ist, das der mit return 0; auch wirklich alles beendet und eben nicht erst auf eine Eingabe wartet (allá "Bitte drücken Sie eine beliebige Taste"). Ich glaub in dem Fall kann man auch mal ein system() verkraften, auch wenns mit getch() auch gehen würde^^


EDIT: Hab jetzt glaube ich was falsch verstanden, na - ist ja auch schon spät^^.
Nichts behindert so sehr die Entwicklung der Intelligenz wie ihre vollständige Abwesenheit.

Michail Genin

13

29.01.2008, 22:55

Hmm das hat nichts mit DevC++ zu tun sondern ist das korrekte Verhalten eines Programmes. Wenn es abgearbeitet ist, wird es verlassen/geschlossen. Wo ist da dein Problem?

Dieses Bitte drücken Sie die EIngabetaste sollte, wenn du die Anwendung direkt ausführst(MSVC++ Build) auch nicht erscheinen!

std::cin.get() ist C++. getch wohl kaum.
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

14

30.01.2008, 15:34

Hi alle zusammen,

@Deviloper

Danke erstmal für deinen Code, hab ich mir angeschaut, schön zu sehen wie man es richtig machen sollte. Bin halt in C++ noch am Anfang.
Das mit dem const wusste ich nicht, habe ich mir aber grade in Volkards Kurs etwas angesehen, zwar noch nicht ganz klar aber es wird schon.


Ja und das mit std::system("pause"); habe ich gemacht weil ich es unter Windows in ner Box aufrufe, und er halt nicht gleich schliessen soll.
Das der Destruktor automatisch aufgerufen wurde wusste ich, ich hab ihn nur noch mal dazugeschrieben weil er eigentlich noch andere Befehle ausgeführt hatte, und ich sehen wollte ob er aufgerufen wird.

Ist halt nur zum veranschauen gewesen!

@nooc

Da muss ich nochmal nach"googlen"

Quellcode

1
2
3
#if (_MSC_VER >= 1300)
#pragma once
#endif // (_MSC_VER >= 1300) 

???
Hmm irgendwas mit wenn _MSC_VER größer oder gleich Version 1300 ist dann ???


EDIT: Macht doch nix @SirForce :D

SirForce

Alter Hase

Beiträge: 802

Wohnort: Süddeutschland

  • Private Nachricht senden

15

30.01.2008, 15:36

@Deviloper:
Na, die VC++ Compiler warten nach der Ausführung auf einen Tastendruck... kann sein dass dies nur bei einer Konsolenanwendung passiert...^^

Genaugenommen habe ich damit kein Problem, ich wollte nur rekonstruieren warum er am Ende seines Quellcodes ein system() Befehl verwendet hat. In den meisten Tutorials über DevC++ Compiler steht nämlich drinn, dass man dieses system("PAUSE"); am ende verwenden soll.

Ansonsten wäre alles geklärt denke ich und ob man std::cin.get() oder getch() verwendet muss dann ja auch jeder für sich und seine Anwendung entscheiden!


EDIT: Da war ich jetzt etwas langsam^^
Nichts behindert so sehr die Entwicklung der Intelligenz wie ihre vollständige Abwesenheit.

Michail Genin

16

30.01.2008, 16:11

@SirForce: Hmm nur wenn du aus MSVC heraus startest. Wenn du die Anwendung normal aufrufst, ist das nicht vorhanden!

std::cin.get() und getch() sind zwei Grundlegend andere Sachen!

@int21h: Das ist eine Include-Guard (Einbindungswächter) ... Wie das #if !defined ... auch. Bei MSVC++ bringt pragma once allerdings vorteile und deswegen wird getestet ob es ein MSVC++-Compiler ist :)
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

Werbeanzeige