Quellcodefensterproblem



  • Hi Leute ich habe folgendes Problem:
    Ich hab ein recht einfaches Programm geschrieben um mir den Flächeninhalt eines Dreiecks auszurechen, habe aber jetzt folgendes Problem:

    Eigentlich funktioniert ja alles, aber das Quellcodefenster schließt sich so schnell, dass ich nie das Ergebnis lesen kann=> das Programm ist nutzlos.
    Was kann ich tun damit das Quellcodefenster nicht automatisch geschlossen wird, sondern nur ich das tun kann?

    Ich bedanke mich jetzt schon mal 😃



  • Benutz mal die Suchfunktion, diese Frage ist schon extrem oft aufgetaucht.





  • Naja das hab isch schon ausprobiert und es funzt irgendwie nicht:
    #include<iostream>
    #include <conio.h>
    #include <windows.h>
    using namespace std;
    void wait ()
    {
    FlushConsoleInputBuffer(GetStdHandle(STD_INPUT_HANDLE));
    getch();
    }

    int main ()
    {
    float Laenge;
    float Hoehe;

    cout<<"Bitte geben sie die Laenge ein\n";
    cin>>Laenge;
    cout<<"\n";
    cout<<"Bitte geben sie die Hoehe ein\n";
    cin>>Hoehe;
    cout<<"\n";
    cout<<"Der Flaecheninhalt des Dreiecks betraegt "<<(Laenge*Hoehe)/2<<" \n";



  • Hab auf irgendeine Taste gedrückt und dann war das da oben schon drinnen, wollte noch dazu schreiben:
    Ich weiß ganz unten fehlt in der Kopie die geschwungene Klammer, die hab ich vergessen mitkopieren.
    Falls ich das jetzt richtig reinkopiert hab, fehlermeldung hab ich beim debuggen keine bekommmen, funzt da was nicht.



  • C++-totally_beginner schrieb:

    Ich weiß ganz unten fehlt in der Kopie die geschwungene Klammer, die hab ich vergessen mitkopieren.

    Zudem der Aufruf der wait-Funktion, wobei ich hier die C++ Variante verwenden würde wenn du sonst nichts aus der WinAPI und der conio brauchst (dann auch letztere Beiden includes entfernen)

    Zusätzlich solltest du den Aufruf der wait-Funktion in DEBUG-Makros setzen, da dein Programm unter sich auch ohne wail-Funktion für ein Konsolenprogramm (das man eigentlich aus der Eingabeaufforderung aufruf) richtig verhält.

    Irgendwie so (hoffe _DEBUG war das in deinem Fall richtige):

    //...
      #ifdef _DEBUG
      wait();
      #endif
    }
    

    Und bitte editiere (als eingeloggter Member kannst du das) deinen Sourcecode nochmal und setzte die C/C++ Tags außen rum (der entsprechende Button unterhalb des Editierfenster...).

    cu André



  • asc schrieb:

    ein Konsolenprogramm (das man eigentlich aus der Eingabeaufforderung aufruf)

    Naja, unter Windows starte ich Konsolenanwendungen entweder direkt von der EXE-Datei oder über die Entwicklungsumgebung. Aber es kommt halt drauf an...



  • Nexus schrieb:

    Naja, unter Windows starte ich Konsolenanwendungen entweder direkt von der EXE-Datei oder über die Entwicklungsumgebung. Aber es kommt halt drauf an...

    Strenggenommen starten wir unter Windows alle so gut wie nie überhaupt Konsolenanwendungen, oder? Insofern ist die Konsolenanwendung als Programmierbeispiel sowieso schon ein Sonderfall, und ein Neuling, der nur Windows kennt, kennt Konsolen vielleicht nichtmal.

    Ansonsten hat asc schon recht, "in Produktion" (ich denke, das meinte er) startet man Konsolenprogramme entweder in einer Konsole, oder im Batch. In beiden Fällen wäre ein Offenhalten reichlich sinnlos bis hinderlich.



  • Ok, ich bedanke mich mal bei euch für eure Antworten, ich hab zwar keine Ahnung von was ihr da redet, aber ich habe kapiert das man als anfänger Konsolen nicht mal kennt ( wovon immer da auch die Rede ist ) was auf mich voll zutrifft, das werde ich schon noch lernen. 😃

    Derweil werde ich mir das Programm offenhalten indem ich eine Aufforderung einbaue einebauen , dass ich beenden schreiben soll um das Programm zu beenden.
    So macht das ein Noob 😃 ( ich weiß eine schlechte Lösung ).



  • C++-totally_beginner schrieb:

    Derweil werde ich mir das Programm offenhalten indem ich eine Aufforderung einbaue einebauen , dass ich beenden schreiben soll um das Programm zu beenden.
    So macht das ein Noob 😃 ( ich weiß eine schlechte Lösung ).

    Solange das der Spezifikation deines Programms entspricht ist das nicht nur eine valide sondern die einzige korrekte Variante. Da du derjenige bist der dir selbst die Spezifikationen auferlegt: Gut gemacht. 😉


Log in to reply