killing_chiller Geschrieben 2. April 2009 Geschrieben 2. April 2009 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 Zitieren
Klotzkopp Geschrieben 2. April 2009 Geschrieben 2. April 2009 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(); Zitieren
Thanks-and-Goodbye Geschrieben 2. April 2009 Geschrieben 2. April 2009 Ausserdem gehört das in die Programmierecke. Zitieren
LoehnenGate Geschrieben 2. April 2009 Geschrieben 2. April 2009 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 Zitieren
MikeX Geschrieben 2. April 2009 Geschrieben 2. April 2009 mit sleep(8); wartest du 8 einheiten lang... kannst ja vorher nen cout machen und gut.... oder wie meinst =? :cool: Zitieren
Guybrush Threepwood Geschrieben 2. April 2009 Geschrieben 2. April 2009 Was sind denn "8 Einheiten"? oO Zitieren
MikeX Geschrieben 2. April 2009 Geschrieben 2. April 2009 na 8 Takteinheiten... ist nicht immer genau 1 sec. .... Zitieren
Guybrush Threepwood Geschrieben 2. April 2009 Geschrieben 2. April 2009 In welcher Bibliothek gibt es die denn? Zitieren
MikeX Geschrieben 2. April 2009 Geschrieben 2. April 2009 dos oder windows oder so... weiss nicht mehr.. google einfach... arbeit nicht mehr so oft mit c++ ... java ist interessanter,,.. , Zitieren
Guybrush Threepwood Geschrieben 2. April 2009 Geschrieben 2. April 2009 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" Zitieren
Klotzkopp Geschrieben 2. April 2009 Geschrieben 2. April 2009 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. Zitieren
Guybrush Threepwood Geschrieben 2. April 2009 Geschrieben 2. April 2009 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. Zitieren
AndiE Geschrieben 2. April 2009 Geschrieben 2. April 2009 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'); } Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.