Break einbauen



  • Wie kann ich in einem normalen Programm ein Break oder eine endlosschleife bauen.

    Ein break wird doch am ende eingegeben oder nicht???

    also so:

    {break;}
    

    ich brauche dies, damit mein Programm nicht nach dem Ausführen der Operation sich sofort beendet, oder?

    cya Liq

    [ Dieser Beitrag wurde am 08.06.2003 um 16:54 Uhr von Liquid editiert. ]



  • break macht 2 dinge:

    in einem switch wird das switch verlassen -> kein fall through mehr

    in einer schleife wird die schleife verlassen -> ohne pruefen ob die exit condition true oder false ist

    was du meinst, ist mir nicht ganz klar.



  • Naja, also erst mal ist break in C/C++ dafür da um Schleifen abzubrechen. Eine Endloschleife ist einfach zu erzeugen:

    while(1);
    

    oder

    for(;;);
    

    allerdings ist das nicht so empfehlenswert.... ich mach das Warten am Ende des Programms meistens mit

    std::cin.ignore();
    


  • naja ich meine damit, das mein programm sich immer schließt sofort nach der Operation, also einer Rechnung oder was weiß ich......
    dann wurde mir gesagt das ich ienen Break einbauen sollte, damit das programm eine pause von ca. 5 sek macht, damit man das ergebniss sehen kann...

    oder man hat mir noch geraten, ich sollte iene endlosschleife bauen, damit sihc das programm nciht beendet!

    Das programm was ich miene funktioniert so:

    #include <iostream.h>
    
     int x, y, bigger;
    
      int main()
    
        {
    
        cout << "Gib zwei Werte ein!\n";
    
        cin >> x;
        cin >> y;
    
            if (x > y) 
    
            {
            cout << "Die größere Zahl ist: - << x << -\n";
            }
    
            else
    
            {
            if (x < y)
    
                    {
                    cout << "Die größere Zahl ist: - << y << -\n";
                    }
    
            else 
    
            {
            cout << "Beide Zahlen sind glecih groß!\n";
            }
    
            }
    
            return 0;
    
        }
    




  • Nur so ne Frage: Warum sind x und y global und wofür wird bigger defniert?



  • ich nehme an, dir wurde gesagt, du solltest eine "brake" verwenden.
    Imm dieses Denglisch... 🙄



  • Also ich habe dieses Schema vom Shade of Mine ausprobiert aber es klappt leider immer noch nicht 😞

    meine programme starten alle nur halt das sie sich so schnell beenden, das ko... michtig an!!!

    MFG

    Liquid



  • Hi Liquid!

    Um die Ausgabe zu sehen, kann man das Programm von MS-DOS aus starten. Dann siehst du die Ausgabe auf jedem Fall.

    Natürlich ist das keine entgültige Lösung deines Problems. Die oben beschriebenen Methoden müssten eigentlich unter folgenden Bedingungen funktionieren:
    1. Bevor du auf die Eingabe des Users wartest darf natürlich kein return stehen.
    2. Das Programm darf nicht durch einen Fehler abgebrochen werden. Im Fehlerfall siehst du i. d. R. keine Ausgabe, da sich die Konsole schließt.

    Btw, soll das nicht so sein?

    cout << "Die größere Zahl ist: - " << x << " -\n";
    cout << "Die größere Zahl ist: - " << y << " -\n";
    


  • Hi,
    danke erst einmal für deine Tipps,

    aber ich schaue mir immer erst die Programme im MS-Dos an, nun ich kann 2 Zahlen eingeben und dannach drücke ich dann enter, danach sehe ich in ca. 2 millisekunden die Ausgabe aber danach ist auch sofort schluss!

    naja bis dann mal

    MFG Liq



  • Original erstellt von Shade Of Mine:
    http://www.c-plusplus.net/ubb/cgi-bin/ultimatebb.cgi?ubb=get_topic&f=20&t=000015

    Mehr kann man nun wirklich nicht helfen.



  • Hi,
    du kannst auch eine " DO WHILE " Schleife machen

    //...
    char nochmal;
    do
    {
    clrscr();
    
    //... Dein Programm
    
    cout<<"Nochmal? j/n? \n";
    cin>>nochmal;
    }
    while(nochmal=='j'||nochmal=='J');//Hier wird überprüft ob die Schleife nochma durchlaufen werden soll
    


  • Original erstellt von <Liquid>:
    **Hi,
    danke erst einmal für deine Tipps,

    aber ich schaue mir immer erst die Programme im MS-Dos an, nun ich kann 2 Zahlen eingeben und dannach drücke ich dann enter, danach sehe ich in ca. 2 millisekunden die Ausgabe aber danach ist auch sofort schluss!

    naja bis dann mal

    MFG Liq**

    Wenn du in die MS-DOS-Konsole (Start -> Ausführen -> cmd) das Programm startest, dann solltest du eigentlich nach Beenden des Programms sowas wie C:\> sehen. Darüber sollte die Ausgabe deines Programms sein.

    Wo genau hast du denn das oben beschriebene eingefügt? Zeig am besten noch mal deinen überarbeiteten Sourcecode.

    CU
    Konstantin



  • Ich habe mir mir immer vor der letzten } im Programm ein cin.get(); eingebaut damit sich mein Dos-Fenster nicht schließt.



  • Ich habe in einem Beispiel das folgende gesehen:

    system("Pause");
    

    Bei meinen Codeschnipseln funktionierts...


Anmelden zum Antworten