Problem bei Dev-C++
-
#include <iostream> int main() { cout<<"Hello, world!"<<endl; getch(); }
so sollte die ganze sache offen bleiben, bis ne taste gedrückt wird!
das problem hatte ich am anfang auch. es hat übrigens nichts mit dem kompiler zu tun. nach dem "cout<<..." ist dein programm einfach mal zu ende und wird beendet!cu, und viel spass beim proggen!!!
-
getch gibts nicht! gehört nicht zum standard
-
Hab ich auch vorhin bemerkt...
Aber wenn man <stdlib.h> includiert und als Befehl system("pause") eingibt funktioniert's auch.
-
netz schrieb:
getch gibts nicht! gehört nicht zum standard
conio.h
-
Also ich finde getch() unterstützt durch conio.h die einfachste Lösung. Die Compiler, die man tyischerweise verwendet, z.B. MSVC++ oder Dev-C++, unterstützen diese Funktion. Die C++-Standard-Lösung ist IMHO schlichtweg eine Zumutung.
<stdlib.h> ist heute übrigens <cstdlib>.
system("pause") ist o.k., getch() jedoch kürzer und treffender.
-
ich mach´s immer mit
cin.get()
Dafür braucht man weder eine zusätzliche Headerdatei, noch Variable
-
@Falky: wenn es sicher funktionieren würde, wäre es die richtige Lösung, macht es aber nicht. Schau mal in die C++ FAQ.
-
Hi Lumbag0!!
Es ist ganz normal das die Fenster-Konsole sich sofort nach der Anweisung
schließt. Weil es eine EXE-Datei ist. EXE steht für EXECUTE, und heist auf
deutsch übersetzt AUSFÜHREN.Tipp: Wenn Du dein Programm unter
MS-DOS startest, bleibt dein
Programm solange offen bis Du das MS-DOS Fenster schließt, oder EXIT
eingiebst.
-
Erhard Henkes schrieb:
@Falky: wenn es sicher funktionieren würde, wäre es die richtige Lösung, macht es aber nicht. Schau mal in die C++ FAQ.
warum nicht einfach eine funktion wait() schreiben?
void wait() { cin.clear(); cin.ignore(cin.rdbuf()->in_avail()); cin.get(); }
-
Möglichkeit 1:
#include <iostream> void wait() { std::cin.clear(); std::cin.ignore( std::cin.rdbuf()->in_avail() ); std::cin.get(); } int main() { //... wait(); }
Möglichkeit 2:
#include <conio.h> int main() { //... getch(); }
Da ziehe ich Variante 2 vor. Variante 1 ist allerdings portabler.
-
@Shade Of Mine:
Das erste Programm Deines hervorragenden Tutorials lautet:
..
Du weichst dem Thema in den folgenden Lektionen weiterhin aus.
Mit getch() habe ich bisher nie Schiffbruch erlitten.
-
@Erhard Henkes
getch() war auch meine bevorzugte Variante - jetzt teste ich jedoch dec-c++ version 4 und bekomme die Fehlermeldung:
implicit declaration of function int getchar(...). Bisher habe ich die IDE Borland C++ 4.52 genutzt, ohne, dass dieses Problem auftrat. Die conio.h findet sich auch im entsprechenden Unterverzeichnis des DEV-C++ Ordners.Ähnliches passiert bei der Funktion randomize().
Hier nochmal der verwendete Quellcode:
#include <iostream>
#include <conio.h>using namespace std;
//Ein C++-Programm beginnt bei main().
int main()
{
cout << "C++ ist Power-Programmierung.";
getch();
return 0;
}
-
#include <stdio.h> #include <conio.h> void main() { clrscr(); printf("Hello World!"); getch(); }
Das dürfte funzen.
mfg
TommyFly
-
lol?!
ich selber benutze Dev C++ und in der schule haben wir den borland builder es funzt bei beiden hiermit:
#include <iostream.h> #include <stdio.h> #include <conio.h> int main() { cout<<"Hello World"; getchar(); return 0; /* kann man auch weglassen is aba bessa geproggt dadurch wegen "int main" :) im borland builder geht aber auch void main =P*/ }