Veröffentlicht 2. April 200916 j Hallo leute ich programmiere seid einiger zeit mit c++ ich suche jetzt nen befehl der dem programm sagt so jetzt warte mal ne sekunde und zeige das ergebnis (bespiel taschenrechner) //rechner.cpp beispiel fuer switch //Fehleingaben werden nicht abgefangen #include <iostream> using namespace std; int main() { float zahl_1, zahl_2, ergeb; char wahl; cout << "\n\n*** Rechner ***\n\n"; cout << "Bitte die erste Zahl eingeben: "; cin >> zahl_1; cout << "Bitte die zweite Zahl eingeben: "; cin >> zahl_2; cout << "\n Bitte wählen Sie <a>ddieren\n"; cout << " <s>ubtahieren\n"; cout << " <m>ultiplizieren\n"; cout << " <d>ividieren\n"; cin >> wahl; switch (wahl) { case 'a': ergeb=zahl_1+zahl_2; cout << zahl_1 << " + " << zahl_2 << " = " << ergeb; break; case 's': ergeb=zahl_1-zahl_2; cout << zahl_1 << " - " << zahl_2 << " = " << ergeb; break; case 'm': ergeb=zahl_1*zahl_2; cout << zahl_1 << " * " << zahl_2 << " = " << ergeb; break; case 'd': if (zahl_2==0) cout<<"Ich mag heut' nicht " <<"durch Null dividieren!"; else { ergeb=zahl_1/zahl_2; cout << zahl_1 << " / " << zahl_2 << " = " << ergeb; } break; default : cout <<"Wer nicht will, der hat schon."; } return 0; } so hier am ende würde ich des gerne mal machen weil das programm das ergebnis nicht anzeigt (die cmd wird zuschnell geschlossen) also ich suche nen befehl wie "wait" oder sowas aber finde es nciht oder benutzte (wenn es das gibt) nen timer wie in delphi.... danke im vorraus mfg killing-chiller
2. April 200916 j Es gibt (noch) keine portable Lösung, um eine bestimmte Zeit zu warten. Unter Windows gibt es Sleep, unter Linux sleep/usleep/nanosleep. Die boost-Bibliothek hat auch eine sleep-Methode in ihrer Threadklasse. Du könntest aber auch einfach noch eine Eingabe einlesen: cin.get();
2. April 200916 j Hi, mit system("Pause"); kannst du das Programm am Ende anhalten. Es kann jedoch zu unerwünschten Nebenefekten oder Abstürzen führen wenn das Programm nicht unter Windows laufen sollte. Ich finde es besser, wenn am Ende z.B. eine Eingabeaufforderung "Beliebige Taste zum Fortfahren drücken..." erscheint. D.h. so wie von Klotzkopp bereits beschrieben einfach eine Eingabe einlesen. :-D
2. April 200916 j mit sleep(8); wartest du 8 einheiten lang... kannst ja vorher nen cout machen und gut.... oder wie meinst =? :cool:
2. April 200916 j dos oder windows oder so... weiss nicht mehr.. google einfach... arbeit nicht mehr so oft mit c++ ... java ist interessanter,,.. ,
2. April 200916 j Ahja, wie Klotzkopp oben ja schon schrieb gibt es keine Standard sleep Funktion in C++ und dos oder windows oder so sind auch keine C++ Bibliotheken und die Windows API Sleep Funktion warten eine bestimmte Anzahl Millisekunden was aber geringfügig abweichen kann wenn sich das Ergebniss zwischen zwei Intervallen der Systemuhr befindet. Was du evtl. mit "Takteinheiten meinst"
2. April 200916 j und die Windows API Sleep Funktion warten eine bestimmte Anzahl Millisekunden was aber geringfügig abweichen kann wenn sich das Ergebniss zwischen zwei Intervallen der Systemuhr befindet. Die Abweichungen können sogar mehr als geringfügig sein, allerdings nur nach oben: All diese Funktionen warten mindestens für die angegebene Zeit. Es kann auch länger dauern. Es kann theoretisch sogar sehr sehr lange dauern, wenn andere Prozesse mit höherer Priorität beschäftigt sind. Nur Echtzeitbetriebssysteme können Obergrenzen bei der Reaktionszeit garantieren.
2. April 200916 j Ja klar wenn da was mit hoher Priorität das System auslastet dann ist das so, aber genauso könnte ja auch ein anderer Prozess mit selber Priorität das System komplett auslasten oder blockieren. So Probleme kann man immer haben unabhängig von Sleep.
2. April 200916 j eine früher gern genutzte Variante war, das ganze als do-while Konstrukt zu gestalten. So etwa: main() { ... do { ... switch(eingabe=menu()) { ... case 'n': auswahl(); return; ... } cout<< "Noch einmal?(j/n)" cin>> eingabe; }while (eingabe !='j'); }
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.