Eingabe eines Vorzeichens anschließend error meldung!? Wie realisieren ? HELP
-
Hi leute ! hab mir aus spass mal einen kleinen Rechner für DOS
programmiert und jetzt steh ich vor einem kleinen problem
Der Benutzer muss zwei Zahlen eingeben, nur wenn er jetzt
z.b - 4 eingibt mit minus davor wird ja das Ergebnis falsch.
Wie kann man dieses Problem beseitigen .... ich hab da an eine if-
Abfrage gedacht .....
Die if-Abfrage sollte auch nur ab der Stelle wo die Wurzel eingegeben werden soll eingefügt werden.
Es soll dann einfach nur eine Meldung ausgegeben werden, wie z.b
"Tut mir leid negative zahlen nicht möglich!" oder so.....
Kann mir da einer helfen ? ich weiß nicht genau wie ich das einbauen soll. Währ auch nett von euch wenn ihr mir noch viele Tips zu meinem Programm geben könntet. z.b welche Verbesserungen noch möglich sind oder was ich alles noch einbauen könnte!
Ich währ für eure hilfe sehr dankbar !
und hier erstmal der Code:
#####################################// Übungsprogramm XP Rechner V1.0 #include <iostream> #include <math.h> using namespace std; int main() { int zahl1, zahl2, wzahl, hzahl1; double nErgebnis; std::cout << "\n\t" << "DaRkWolF`s XP Rechner"; std::cout << "\n"; std::cout << "\nBitte geben sie eine Zahl ein:"; std::cin >> zahl1; std::cout << "\nBitte geben sie eine zweite Zahl ein:"; std::cin >> zahl2; nErgebnis = zahl1+zahl2; std::cout << "\n" << "Das 1.Ergebnis lautet:" "\t"<< zahl1 << "+" << zahl2 << "=" << nErgebnis; nErgebnis = zahl1-zahl2; std::cout << "\n" << "Das 2.Ergebnis lautet:" "\t"<< zahl1 << "-" << zahl2 << "=" << nErgebnis; nErgebnis = zahl1*zahl2; std::cout << "\n" << "Das 3.Ergebnis lautet:" "\t"<< zahl1 << "*" << zahl2 << "=" << nErgebnis; nErgebnis = zahl1/zahl2; std::cout << "\n" << "Das 4.Ergebnis lautet:" "\t"<< zahl1 << "/" << zahl2 << "=" << nErgebnis; std::cout << "\n########################################################"; std::cout << "\n"; std::cout << "\nBitte geben sie eine Zahl ein, aus der die Wurzel gezogen werden soll:"; std::cin >> wzahl; nErgebnis = sqrt( wzahl ); std::cout << "Die Wurzel aus " << wzahl; std::cout << " ist " << nErgebnis; std::cout << "\nBitte geben sie eine Zahl ein, diese wird anschliessend hoch 2 genommen."; std::cin >> hzahl1; nErgebnis = pow (hzahl1,2); std::cout << "\n" << nErgebnis; return 0; }
THX an alle die mir helfen!
ciao
-
// ... std::cout << "\nBitte geben sie eine Zahl ein, aus der die Wurzel gezogen werden soll:"; std::cin >> wzahl; if(wzahl < 0) std::cout << "\nFalsches Eingabe, aus einer negativen Zahl kann keine Wurzel gezogen werden!"; else { nErgebnis = sqrt( wzahl ); std::cout << "Die Wurzel aus " << wzahl; std::cout << " ist " << nErgebnis; } // ...
Hast du in etwa an so etwas gedacht???
-
Hi!
Ja genau so ! Vielen dank !!....
Mensch darauf hätt ich aber auch selber kommen können.
Ich fauler sack ! °-°
Hast du vielleicht noch Tips für mich was ich noch verbessern könnte ?ciao und THX
-
Naja du könntest das ganze mal in eine Schleife packen, der Benutzer soll selber entscheiden welche Rechenart erbenutzen will und nicht alle.
Du kannst dein Programm z. B. auch noch optimieren indem du weniger Variablen verwendest etc.