if Schleife
-
@Unterfliege sagte in if Schleife:
Du kannst z.B. die Zeilen 35-44 folgendermaßen lesbarer machen:
std::cout << " Bitte waehlen Sie ein Kuerzel fuer die Rechenoperation aus:\n\n" << " Fuer Addition ein [a] eingeben\n" << " Fuer Subtraktion ein [s] eingeben\n" << " Fuer Multiplikation ein [m] eingeben\n" << " Fuer Division ein [d] eingeben\n" << " Füer Potenzen ein [p] eingeben\n\n\n" << "Operator ";
Anzumerken ist noch das das obige das selbe ist wie:
std::cout << " Bitte waehlen Sie ein Kuerzel fuer die Rechenoperation aus:\n\n"; std::cout << " Fuer Addition ein [a] eingeben\n" ; std::cout << " Fuer Subtraktion ein [s] eingeben\n"; std::cout << " Fuer Multiplikation ein [m] eingeben\n"; std::cout << " Fuer Division ein [d] eingeben\n"; std::cout << " Füer Potenzen ein [p] eingeben\n\n\n"; std::cout << "Operator ";
Es wird 7 mal eine schreiboperation aufgerufen (Genauer: der operator<<() )
Das ist nicht gut. In C++ werden aneinandergereihte Zeichenketten zur Compilerzeit zu einer Zeichenkette zusammengefügt.Besser ist daher:
std::cout << " Bitte waehlen Sie ein Kuerzel fuer die Rechenoperation aus:\n\n" " Fuer Addition ein [a] eingeben\n" " Fuer Subtraktion ein [s] eingeben\n" " Fuer Multiplikation ein [m] eingeben\n" " Fuer Division ein [d] eingeben\n" " Füer Potenzen ein [p] eingeben\n\n\n" "Operator ";
Jetzt wird der cout.operator<<() nur ein mal aufgerufen.
-
@dirkski Und da jede Ausgabeoperation viel langsamer ist als ein Funktionsaufruf ist es schnurz piep sch**ß egal.
-
Hey Leute ich arbeite immer noch am mein Taschenrechner. Deshalb wollte ich mal Fragen ob es eine Möglichkeit gibt, wenn der User eine Zahl eingibt wie z.B. in Zeile 53 , diese dann zu prüfen ob es eine Zahl ist oder vielleicht ein Buchstabe?
-
cin >> zahl; if( !cin ) { // Keine Zahl }
-
@out sagte in if Schleife:
// Keine Zahl
Nicht vergessen: danach den Fehlerstatus des Streams wieder löschen (https://en.cppreference.com/w/cpp/io/basic_ios/clear) und den Stream leeren (https://en.cppreference.com/w/cpp/io/basic_istream/ignore).
-
Dieser Link fehlt noch: if-schleife ;- )
-
guck mal weiter oben, von ibm persönlich.
-
@Wade1234 das ist weder C noch C++.
-
@Swordfish
aber das gleiche konzept der bedingten ausführung.
-
@Wade1234 IBM auf den Blödsinn aufmerksam gemacht.