Der Datentyp char

Aufgabe 0

Du möchtest nun dein Programm, welches Dezimalzahlen in Dualzahlen umrechnet erweitern. Der Benutzer soll immer wieder gefragt werden, ob er noch eine weitere Zahl eingeben möchte. Der Benutzer antwortet mit 'j' für ja und 'n' für nein! Wie könntest du das realisieren?

Grundlegendes

Variablen vom Datentyp char können ein Zeichen als Wert annehmen. Als Zeichen oder Character bezeichnet man:

ASCII steht für „American Standard Code for Information Interchange“. Im ASCII sind die Zeichen 0 bis 127 laut Tabelle genormt. Dieser Code wird von fast allen Rechnern verwendet.

Die Zeichen 0 bis 31 sind Steuerzeichen (z.B. \n hat den Wert 10) und werden im allgemeinen nicht gedruckt und deshalb in der Liste nicht dargestellt.

char-Variablen werden, wie auch alle anderen Variablen - im Vereinbarungsteil deklariert.

Beispiel:

char zeichen;

Konstanten vom Typ char werden im Programm zwischen Hochkommata gestellt (z.B. 'A', 'x').

Beispiel:

char zeichen;
zeichen='A';

Da char-Werte durch ihre Nummern im verwendeten Zeichensatz dargestellt werden, können sie wie Zahlen mit Vergleichsoperatoren (z.B. <, >, ==,…) miteinander verglichen werden. Man kann einer Varialbe vom Typ char auch einen ganzzahligen Wert zuweisen. Ausgegeben wird dann jedoch das entsprechende Zeichen der ASCII-Tabelle.

Beispiel:

char zeichen;
zeichen=65; //Ausgabe: 'A'

Um beispielsweise Zeichen einzulesen oder am Bildschirm auszugeben gibt es verschiedene Bibliotheksfunktionen, welche in conio.h enthalten sind. Einige wichtige daraus sind:

Die Ascii-Tabelle: ASCII-Tabelle

Aufgabe 1

Schreibe ein Programm, dass alle Zeichen der ASCII-Tabelle von einer eingegebenen Untergrenze bis zu einer gewünschten Obergrenze mit der entsprechenden Nr. ausgibt. (ASCIITabelle.cpp)

Aufgabe 1a

Schreibe ein Programm, dass bei einem Tastendruck mit der Ausgabe des jeweiligen Zeichens und seines ASCII-Codes reagiert. Das Programm soll solange laufen, bis die Taste ESC (ASCII-Code 27) gedrückt wird.

Hinweise: Lies den Tastendruck mit t=getch() ein, du erhältst den ASCII-Code mittels (int)t, wenn t eine char-Variable ist. Du kannst mit der Bedingung t==27 überprüfen, ob die Taste ESC gedrückt wurde.

Aufgabe 2

Erledige nun Aufgabe 0!

Aufgabe 3

Schreibe ein Programm, welches eine duale Ziffernfolge vom Bildschirm zeichenweise einliest und in eine Dezimalzahl umrechnet.

Aufgabe 4:

Schreibe ein Programm, welches eine hexadezimale Ziffernfolge vom Bildschirm zeichenweise einliest und in eine Dezimalzahl umrechnet.

Aufgabe 5:

Schreibe ein Programm, welches ein Zeichen einliest. Erlaubt sind nur Groß-, Kleinbuchstaben und Ziffern. Andere Zeichen werden ignoriert. Anschließend gibt das Programm aus, ob es sich um einen Groß-, Kleinbuchstaben oder eine Ziffer gehandelt hat.
Das Programm soll so lange laufen, bis die Taste Esc (ASCII-Code 27) gedrückt wird.