Hilfe



  • Hallo zusammen
    Ich bin der totale Anfänger in sachen programieren.
    Nun habe ich Dev-C++ installiert und das "Hallo Welt" Programm ausprobiert.
    Dann kam ganz kurz das Fenster mit dem gewünschten Text und dann wieder nix.
    😞 😞 😞 😞 😞 😞 😞
    Wie kann ich das denn ändern? (Ich habe schon verschiedene Varianten Des Hallo welt Programmes getestet doch keines hat funktioniert.
    Diese Sache macht mich noch verrückt 😡 ...

    Bitte helft mir 🙄



  • Hallo !

    Ich glaube zu wissen, was du meinst ! Du möchtest, das das Fenster stehen bleibt und nicht verschwindet ?
    Entweder du änderst die Eigenschaften deines Konsole-Fensters, oder aber du baust eine Eingabeaufforderung in dein Programm ein.

    #include <iostream>
    using namespace std;
    
    int main(int argc, char *argv[])
    {
    	int i;
    	cout << "Hallo Welt !" << endl;
    	cin >> i;                      // Hier bleibt dein Programm stehen und wartet auf eine Eingabe.
    	return 0;
    }
    

    Gruß,
    p.



  • Um mein Fensterchen aufzuhalten verwende ich immer ein schönes "cin.get();" dafür braucht man den au net extra die Variable "i".



  • Und da wir schon dabei sind und das einfache cin.get() auch mal schief gehen kann (bei hello world nicht), ein Hinweis auf die FAQ des Konsolensubforums, unter "Automatisches Schlieszen verhindern" oder so ähnlich.



  • 1.) schau ins FAQ denn diese frage wird hier erstaunlich oft gestellt

    2.)

    fflush(stdin);      //<= löscht das eingegebene dann kann nix mehr schief gehen
    cin.getline();
    


  • Digger182 schrieb:

    fflush(stdin);      //<= löscht das eingegebene dann kann nix mehr schief gehen
    

    Da Du weisst dass diese Frage erstaunlich oft gestellt wird müsstest Du auch festgestellt haben dass sich das da mindestens genauso oft als falsch herausstellt.



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum DOS und Win32-Konsole verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • LordJaxom schrieb:

    Digger182 schrieb:

    fflush(stdin);      //<= löscht das eingegebene dann kann nix mehr schief gehen
    

    Da Du weisst dass diese Frage erstaunlich oft gestellt wird müsstest Du auch festgestellt haben dass sich das da mindestens genauso oft als falsch herausstellt.

    solange er visual studio benutzt ist es ja auch kein problem :).

    alternativ dazu gibts auch

    cin.sync();
    cin.get();
    

    sync wird auf fast allen systemen unterstützt und ist keine tipparbeit

    wenn du jedoch einen 100% portablen code brauchst musste in die faq schauen



  • Vielen Dank an euch alle, echt nett, dass ihr mir auch geholfe habt, obwohl ich nicht zuerst nachgeschaut habe 🙄

    Liebe Grüsse und dickes Danke
    Michi



  • huhu, oder du verwendest ein system call zum testen deiner programme

    system("PAUSE"); // Hält das programm solange auf bis du eine taste drückst
    


  • Sebbo schrieb:

    huhu, oder du verwendest ein system call zum testen deiner programme

    system("PAUSE"); // Hält das programm solange auf bis du eine taste drückst
    

    Hört denn das niemals auf?!?

    Bitte zum Thema "Wie halte ich mein Konsolenfenster offen" (oder auch "Automatisches Schließen verhindern" genannt) in die FAQ schauen, wie man es vernünftig macht.

    Am sinnvollsten ist es hald immer noch ein Konsolenprogramm in der Konsole zu öffnen 🙄 .



  • AJ schrieb:

    Hört denn das niemals auf?!?

    😃



  • da dieser Michi ein absoluter Anfänger in C++ ist, sollten wir wenigstens auch dazu schreiben, in welchen Headerdateien die Funktionen deklariert sind. Er hat zwar noch nicht danach gefragt, aber trozdem 😃

    also, fflush() und getchar() ist in <cstdio> (wenne in C programmierst <stdio.h>). system() is glaub ich auch in <cstdio>, aber bin mir nicht ganz sicher. (zu sehr an C# gewöhnt 🙂 )

    MfG borgolte



  • system braucht keine header



  • Stelfer schrieb:

    system braucht keine header

    Das wär mir aber nun ganz neu.

    Hier die richtige Antwort: system()



  • also zumindenst geht es bei mir mit dem dev-cpp und mit dem VS2005



  • Wahrscheinlich ist eingestellt, dass die stdlib.h automatisch eingebunden wird.



  • stdio.h wird auch automtisch hinzugefügt.-printf(), getchar() usw. funktionieren nämlich auch ohne ein #include.



  • Ich tippe eher darauf, daß der Compiler sich noch nicht so streng an den C++ Standard hält (oder daß du das Programm in C compilierst). Nach ANSI C ist es erlaubt, eine unbekannte Funktion aufzurufen (dabei deklarierst du diese Funktion implizit mit Rückgabetyp als int func(); - solange das zum tatsächlichen Prototyp passt, läuft dein Programm problemlos), in C++ ist es verboten.


Log in to reply