Hi Polskapawel,Zitat von polskapawel
möchtest Du mittels if-Anweisung einen klar definierten Bereich abstecken, solltest Du dir vorher genau überlegen, wie die Grenzen für diesen zulässigen Bereich aussehen.
In der aktuellen Version deiner if-Anweisung werden keine unteren und oberen Grenzwerte festgelegt. Die Folge ist, dass nicht nur ein Bereich "abgesteckt" wird, sondern gleich zwei von einander getrennte Bereiche und zwar von [0..4] durch "if(x<5)" und von [6..65535] durch "else if(x>5)"! Also quasi alles, was der Datentyp uint_16 hergibt, mit Ausnahme der Zahl 5.
Besser wäre es, wenn Du die Grenzen wirklich strikt festlegst.
In etwa so:
//wenn x größergleich 0 UND x kleinergleich 4 (statt x<=4 auch möglich: x<5)
if(x>=0 && x<=4)
{
Anweisungen;
}
//wenn x größergleich 5 UND x kleinergleich 10
else if(x>=5 && x<=10)
{
Anweisungen;
}
//alles was nicht zwischen 0 und 10 (einschließlich Grenzen) liegt
else
{
writeString_P("Die Zahl liegt außerhalb des gueltigen Bereichs!\n");
}
Was das Einlesen eines Zeichens betrifft schließe ich mich RP6conrad an. Mit readchar() dürfte es klappen
Hoffe ich konnte Dir etwas helfen.
Have fun.
Lesezeichen