Hallo,
dann muss man aber tatsächlich jedes Zeichen einzeln eingeben, dann die Eingabetaste drücken, dann das nächste. Ich bin davon ausgegangen, dass turgar die Ziffern der Reihe nach eingibt und erst zum Schluss die Eingabetaste drücken möchte - und hatte mich daher über das seltsame von ihm beschriebene Verhalten gewundert.
na das gibt für mich ja überhaupt keinen Sinn...
Somit entsteht für mich der Anschein, er will _eine_ zahl eingeben.
Da kann er auch gleich ein String einlesen und atoi() anwenden ...
Desweiteren wäre dann auch 9x die Ausgabe sinnlos.
Doch, ein C++-Compiler erlaubt das. In C++ können am Anfang jedes neuen Anweisungsblocks (also nach fast jeder öffnenden geschweiften Klammer) neue Deklarationen stehen. Das ist einer der Punkte, in denen C++ zur Schlampigkeit verleitet - in "reinem" C müsste man alle Deklarationen am Anfang des Funktionsblocks notieren.
Deswegen schreib ich lieber in C ;)
In C++ sehe ich nur den Vorteil der OOP ... ansonsten verleitet es nur zu Faultheit!
Zumindest die Zuweisung eines Wertes ist an der Stelle sinnlos. Das gilt aber auch für die Zuweisung readChar = NULL aus turgars Originalcode. Schädlich ist das aber nicht ...
stimmt ... die Zeile hatte ich vergessen. Das ist der gleiche Fall wie bei "pos": In die Variable etwas speichern und ohne jegliche Verwendung danach wieder überschreiben ... überflüssig.
Du meinst Ziffer, nicht Zahl.
Jagut, bei mir das selbe *g*
Ansonsten: ACK.
Was die fehlende Fehlerbehandlung für Folgen hat, können wir aber nicht abschätzen, da wir nicht wissen, was mit dem Wert von pos noch passiert.
In diesem Fall ist es aber notwendig. Da er die Zahlen sicher nicht umsonst einliest. Ansonsten könnte er gleich seinen Code markieren und auf "Enft" drücken ;)
Ich finde aber, das das Error-Handling neben der Funktionalität das wichtigste eines Programmes ist. Man kann nie wissen, was z.b. ein DAU eingibt...
MfG. Christoph Ludwig
--
Wo die Sprache aufhört, fängt die Musik an...
Selfcode: sh:) fo:) ch:° rl:( br:^ n4:} ie:{ mo:} va:) js:| de:] zu:) fl:( ss:| ls:~
Go to
this