...ist es sehr häufig, wenn irgendetwas nicht so ausgegeben wird, wie man sich das vorstellt oder gar nicht erst kompiliert wird. Nimmt man sich der Datentypen dann etwas an, fällt auf, daß ein Vergleich zwischen Äpfeln mit Birnen den Hintergrund des Problems darstellt.

Die richtige Deklaration der Datentypen ist in maschinennahen Sprachen also sehr wichtig. In JavaScript sind Typen etwas gröber zusammengefasst aber deshalb ist auch dort das Thema nicht vom Tisch.

Anspruchsvoller als die reine Deklaration ist die Typumwandlung. Bei der Gelegenheit sollte man wissen, welche Typen worin bereits enthalten sind. So ist ein Integer - also eine ganze Zahl - dem Charakter, der alle Zeichen umfasst bereits impliziert. Dort wird er aber als beliebiges Zeichen behandelt und rechnerische Weiterverarbeitung wäre dann ohne Eingriffe nicht möglich, da Buchstaben keine Zahlenwerte haben.

Bedingungen mit if... else...  |   Zahlen runden  |   Arrays

Namekleinster Wertgrößter WertGröße in Bit
boolfalse, truefalse, true8
(signed) int-32.76832.76716
(signed) char-1281278
unsigned int065.53516
unsigned char02558
float3,4 E-383,4 E+3832
double1,7 E-3081,7 E+30864

Es reicht vorerst, eine ungefähre Vorstellung von den Wertebereichen zu haben und sich die genauen Werte erst allmählich einzuprägen. Wenn der Geltungsbereich sehr groß ist, wird er hexadezimal dargestellt.

Sie haben zudem die Möglichkeit, den Wertebereich per Bedingung einzugrenzen; nicht aber ihn auszudehnen!

Ende eingeben
Der kleinste aller Datentypen ist der bool . Dieser kennt nur zwei Zustände: wahr oder falsch, 1 oder 0, ja oder nein.

Das Ende der Zahlenreihe reicht maximal bis 50. Wenn Sie einen Wert eingeben, der größer ist als 50, so bekommen Sie im folgenden Dialog genau zwei Möglichkeiten. Nämlich OK oder Abbrechen. Demnach ist OK mit 1 und Abbrechen mit 0 belegt. Probieren Sie beide Ausführungen!

Checkboxes: Entweder 1 oder 0 mit bool

Den explizit deklarierten Datentyp muß man nicht unbedingt verwenden, um bool zu benutzen. Er ist so grundlegend, daß jede Überprüfung auf Wahrheit letztlich diesem Schema zuzuordnen ist. Sobald Sie etwas programmieren, das entweder wahr oder falsch ausgibt und nichts dazwischen zulässt, verwenden sie ein bool'sches Kriterium.

Klicken Sie auf den Button "Vergleichen" und bestätigen Sie mit "OK" ( 1 ). Klicken Sie nun erneut auf "Vergleichen" und bestätigen Sie dann mit "Abbrechen" ( 0 ).

Die grundlegende Anforderung ans Programm ist, Zahlen zu vergleichen und eine konstante Zeichenfolge in der Funktion aufzurufen. Diese Zeichenfolge wird aber nicht in die Funktion geschrieben, sondern ins Hauptprogramm. Auffällig dürfte die Syntax des Aufrufs sein:

semp ( const_cast < char* > ( c ) )

Der konstante Cast hat seinerseits wieder einen Parameter, der nun die eigentliche Definition der Zeichenkette ist.

Funktionen  |  Pointer  |  Klassen

Es werden diverse Funktionen angelegt. Achten Sie auf void, um Kollisionen der Typen zu vermeiden, da hier natürlich mehrere Typen verwendet werden.

Die Parameter der Funktionen sind pointer, deren Werte erst im Hauptprogramm deklariert und zugleich definiert werden. Hier können Sie mit individuellen Meldungen auf diverse Fehler der Eingabe reagieren. Um die korrekte Ausgabe des float zu runden, ist nocheinmal ein cast nötig, der aus Dezimalen den integer macht.

Im zweiten Beispiel werden der Funktion fehl beide Parameter float und const char *pointer zugewiesen. Es wird sowohl berechnet als auch eine konstante Meldung ausgegeben. Beides macht eine Funktion; sofern sie davon weiss.

Der konstante Character wird wieder deklariert und definiert mit const char *c = "Ihr Text." und beim Aufruf der Funktion sind natürlich Rechnung und Meldung zu beachten mit fehl ( x , const_cast < char* > ( c ) ) ebenfalls als Parameter.

Tatsächlich hat man hier im Parameter des Aufrufs den Parameter der Meldung.

Im Englischen heißt "to cast" etwa ( aus- ) werfen. Dies ist die Typumwandlung im linken Beispiel, die aus einer ellenlangen Dezimalzahl eine ganze Zahl macht. Allerdings wird hierbei nicht gerundet, sondern einfach abgeschnitten. Mit dem Cast kommen Sie ohne Präprozessordirektive aus, die bei trunc oder floor nötig wäre.

Beachten Sie, daß ein Integer hierarchisch dem Double unterstellt ist. Wenn Sie umgekehrten Weg gehen, wird aus 3 eben nicht 3.00000...

Dieses Beispiel wiederholt kurz die Umwandlung von Double zu Integer und wird um einen Charakter char erweitert.

Wenn Sie im nächsten Moment ein Zeichen eingeben, dann rufen Sie dieses Zeichen auf der ASCII-Tabelle auf, in der jedes Zeichen - also auch Buchstaben - mit einer Zahl versehen ist. Jedes Zeichen - jede Ziffer, jede Zahl und jedes Sonderzeichen - hat ihre eigene "Adresse".

Startseite  |  Hinweise und Impressum  |  Facebook  |  Twitter  |  Google plus