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

08.11.2010, 22:18

Problem bei Darstellung des WIN 32 Programms

Hallo Programmierer,
ich habe jetzt nochmal mit dem Buch begonnen es richtig durchzuarbeiten und ich habe das Problem, dass wenn ich z.B. das Listing 1.1, also das Prog. das nur "Hier kommt die Konkurrenz!" ausgibt, es mir wenn ich es Debugge mir nur kurz die Dos Seite anzeigt und sofort wieder verschwindet.
Wenn ich es immer ganz schnell hintereinander debugge sehe ich es ,dass es mir den Text ausgibt ,aber aber nur in Sekundenbruchteilen.
Jetzt habe ich da ich mit Dev C++ arbeite mir mal so ein Probe Programm von dem zeigen lassen, welches Hallo Welt anzeigt und wenn ich meinen Quellcode nach diesem Schema umschreibe, dann kann ich das Prog. mit dem Drücken einer beliebigen Taste beenden.

Dies ist der überarbeitete Quellcode:

C-/C++-Quelltext

1
2
3
4
// Es wird ein Begrüßungstext ausgegeben
//#include <cstdlib>#include <iostream>
using namespace std;
// Hauptprogramm//int main (int argc, char *argv[]){cout << "Hier kommt die Konkurrenz!\n";system("PAUSE");return EXIT_SUCCESS;}



Vielleicht kann mir wer helfen dieses Problem ohne der Ausgabe des Jetzt Taste drücken's zeigen oder helfen eine Option des Programmes Dev C++ zu ändern.

Viele Grüße Bierseppi
Wer Rechtschreibfehler findet, darf sie behalten. =)

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

2

08.11.2010, 22:24

C-/C++-Quelltext

1
2
3
4
5
6
#include <iostream>

int main() {
    std::cout << "Hier kommt die Konkurrenz!\n";
    std::cin.ignore();
}
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

jonnesen

Frischling

Beiträge: 58

Wohnort: Brandenburg, Templin

Beruf: Schüler

  • Private Nachricht senden

3

09.11.2010, 06:56

C-/C++-Quelltext

1
2
3
4
5
6
#include 

int main() {
std::cout << "Hier kommt die Konkurrenz!\n";
std::cin.ignore();
}

guten morgen,

meinst du das nicht so architekt weil cin.ignore gibt doch keine verzögerung des programm endes oder etwa doch?:


C-/C++-Quelltext

1
2
3
4
5
6
#include 

int main() {
std::cout << "Hier kommt die Konkurrenz!\n";
std::cin.get();
}


ich mache es immer so:

C-/C++-Quelltext

1
2
3
4
5
6
#include 

int main() {
std::cout << "Hier kommt die Konkurrenz!\n";
std::cin;
}




4

09.11.2010, 14:04

Frage Für was steht denn das std:: vor dem cin und cout ???
Wer Rechtschreibfehler findet, darf sie behalten. =)

idontknow

unregistriert

5

09.11.2010, 14:30

namespace, alle Funktionen, Objekte, ect. der Standard Bibliothek STL befinden sich im namespace std.
D.h. konkret entweder vor jeden Typ den du daraus verwendst std:: schreiben oder am Anfang deines Programms using namespace std; (Wie du es getan hast.)

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

6

09.11.2010, 16:16

ignore ignoriert (wie der Name schon sagt) eine variable Anzahl von Zeichen. Dies bewirkt, dass sich das Programm nicht sofort beendet, sondern erst bei der nächsten Eingabe, z.B. via Enter. So kann man das Resultat (also hier die Ausgabe dieses fragwürdigen Textes) auch in der Konsole in Ruhe lesen.
cin.get hat zwar einen anderen nutzen (und zwar die Speicherung eines eingegeben strings [bis zum Leerzeichen jedenfalls]), sollte aber in diesem Fall das gleiche bewirken.
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

jonnesen

Frischling

Beiträge: 58

Wohnort: Brandenburg, Templin

Beruf: Schüler

  • Private Nachricht senden

7

09.11.2010, 19:16

ja ok...danke architeckt für die erklärung, so meinte ich das auch.

Gruß Jonas

Werbeanzeige