C++ Ein- und Ausgabe |
Reden ist Silber, Schweigen ist Gold.
Es wird Sie gewiss mit Freude erfüllen, dass der Computer so
wunderbar rechnen kann. Aber selbst wenn Neugierde nicht zu Ihren Untugenden
gehört, werden Sie irgendwann einmal wissen wollen, was der Computer denn
herausgefunden hat. Eine Ausgabefunktion muss her!
An dieser Stelle wird die Ein- und Ausgabe auf dem Bildschirm so weit
beschrieben, dass Sie sinnvolle Programme schreiben können. Ausführlichere
Details zu dem Thema finden Sie Namensräumen zu tun.
Um Daten anzuzeigen, werden sie
auf die Datenausgabe cout (Das »out« in cout ist englisch
und bedeutet »aus«. Es ist also das Ausgabeobjekt, auf das umgeleitet
wird. Das »c« steht davor, weil es der Lieblingsbuchstabe von Bjarne
Stroustrup ist. Darum hat er seine Sprache ja auch C++ genannt.)
geleitet. Zunächst wird das Datenziel genannt.
Dann werden zwei Kleiner-Zeichen verwendet, um die Richtung der Daten in
Richtung der Ausgabe anzuzeigen.
[Ausgabe einer Variablen]
Im Beispiel wird die Variable MeinZahlenWert ausgegeben. In der Zeile
darunter wird endl auf den Datenstrom gesendet. Dies ist keine
selbst definierte
Variable, sondern eine vordefinierte Konstante für das Zeilenende. Die
Verwendung von endl sorgt auch dafür, dass alle anzuzeigenden Daten
sofort auf dem Bildschirm erscheinen.
[Ausgabekette]
[Ausgabekette]
Dieses gekonnte Beispiel trockener Informatiker-Poesie sagt dem Anwender,
das der Wert, der jetzt auf dem Bildschirm erscheint, das Ergebnis des
Programms ist. Solche Informationen sind es, die ein
benutzerfreundliches Programm ausmachen.
Wenn Sie mehrere Zahlenwerte nacheinander an cout umleiten,
so werden Sie feststellen, dass sie ohne Trennzeichen direkt nebeneinander
dargestellt werden. Die Ausgabe eines Wertes 8 und die darauf folgende Ausgabe
von 16 erschiene also als 816. Entsprechend sollten Sie zumindest ein
paar Leerzeichen oder ein paar erläuternde Worte dazwischen setzen:
Weitere Informationen zu Manipulatoren finden Sie
an anderer Stelle.
Um Eingaben von der Tastatur zu lesen, wird die Datenquelle
cin (Das »in« in cin steht für »ein«. Es ist also das
Eingabe-Objekt. Die Herkunft des c wurde ja bereits bei cout erläutert.)
auf die Variable umgeleitet.
Der Eingabeoperator besteht genau spiegelverkehrt zum Ausgabeoperator aus
zwei Größer-Zeichen. Sie weisen quasi vom cin auf die Variable, in der
die Eingabe abgelegt werden soll.
[Ein einfacher Benutzerdialog (reinraus.cpp)]
cout << MeinZahlenWert;
cout << endl;
Kaskadierung
Der Übersicht halber oder um sich Tipparbeit zu sparen, können mehrere
Ausgabeobjekte direkt hintereinander, durch die doppelten Kleiner-Zeichen
getrennt, aufgeführt werden.
cout << MeinZahlenWert << endl;
Begleittexte
Sie können nicht nur Variablen, sondern auch Konstanten auf diesem Weg
ausgeben. Das ist besonders interessant bei Zeichenketten, mit denen Sie
Ihren Programmausgaben ein paar erläuternde Texte beifügen können.
cout << "Ergebnis: " << MeinZahlenWert << endl;
Formatierte Ausgabe
cout << "Eingabe war: " << Input
<< " Das Doppelte ist: " << Output << endl;
Spaltenweise
Schwieriger ist es, wenn Sie Tabellen anzeigen wollen. Um zu wissen, wie viele
Leerzeichen Abstand zwischen die Zahlen gesetzt werden muss, müssten Sie
zunächst ermitteln, wie viele Stellen jede Zahl hat.
Um dies zu vereinfachen, gibt es einen so genannten Manipulator namens
setw(). »setw« steht für »set width«, also »setze
Breite«. Das w hat also nichts mit meinem Lieblingsbuchstaben zu tun.
Dieser wird vor der eigentlichen Ausgabe an cout gesandt und bereitet
die Formatierung der folgenden Ausgabe vor. Zwischen die Klammern von
setw() schreiben
Sie die Anzahl der Stellen, die für die nachfolgende Ausgabe reserviert
werden sollen. Alle Stellen, die nicht von der Zahl selbst belegt werden, werden
mit Leerzeichen so aufgefüllt, dass die Zahl rechtsbündig erscheint.
Das folgende Beispiel sollte also dafür sorgen, dass die Zahlen der
beiden Ausgabezeilen hübsch rechtsbündig nebeneinander stehen.
cout << setw(7) << 3233 << setw(6) << 128 << endl;
cout << setw(7) << 3 << setw(6) << 1 << endl;
Eingabestrom aus cin
#include <iostream.h>
main()
{
int Zahleingabe;
int Doppel;
cout << "Bitte geben Sie eine Zahl ein!" << endl;
cin >> Zahleingabe;
Doppel = Zahleingabe * 2;
cout << "Das Doppelte dieser Zahl ist "
<< Doppel << "." << endl;
}
Diese Seite basiert auf Inhalten aus dem Buch
Arnold Willemer: Einstieg in C++
Mit freundlicher Genehmigung und Unterstützung des Verlags galileo computing
| Informatik-Ecke Einstieg in C++ |
(C) Copyright 2003 Arnold Willemer
|