Überprüfung von double-Zahlen
-
Hallo nochmal,
ich versuche gerade folgende Aufgabe zu lösen:Eine Zahl x vom Typ double soll von der Tastatur eingegeben werden. Die Zahl soll nur dann
akzeptiert werden, wenn sie im Bereich –10.0 <= x < +10.0 liegt. Schreiben Sie für diesen
Zweck ein Programm, das bei ungültiger Eingabe einen Hinweis ausgibt und die
Eingabeaufforderung so lange wiederholt, bis die Zahl im geforderten Bereich liegt.Hier ist mein Ansatz:
#include <stdio.h> #include <stdlib.h> int main(void){ double x; do{ printf ("Bitte geben Sie eine Zahl ein:"); scanf_s("%lf", &x); if (x < -10 && x > 10) printf ("Achtung: Die Zahl liegt nicht im geforderten Bereich"); }while(x < -10 && x > 10); system ("PAUSE"); }
Nur leider funktioniert das nicht ganz so wie ich mir das vorgestellt habe.
Eig. sollte er doch so die Schleife immer wiederholen wenn keine Zahl im Bereich von -10 bis +10 eingegeben wurde?Danke schonmal.
-
if (x < -10 && x > 10)
Ich übersetze mal auf Deutsch:
(wenn x kleiner als -10) UND (wenn x größer als 10), dann tue...
Rate mal, auf wie viele Zahlen dies zutrifft
.
-
Das while heißt solange.
while(x < -10 && x > 10); ist dann: solange ( x kleiner -10 und x größer 10)
Für welche Zahl trifft das zu, die das gleichzeitig ist?
Da muss ein oder hin.
while((x < -10) || (x > 10));
-
Ah ok, vielen Dank.