C++ Grundlegende Eingabe/Ausgabe
Hallo daar, zukünftige C++-Programmierer! Heute werden wir in die aufregende Welt der Eingabe und Ausgabe in C++ eintauchen. Keine Sorge, wenn du noch nie einen Codezeile geschrieben hast – wir beginnen bei den Grundlagen und arbeiten uns nach oben. Am Ende dieses Tutorials wirst du erstaunt sein, wie viel du mit nur ein paar Zeilen C++-Code erreichen kannst!
Header-Dateien der I/O-Bibliothek
Bevor wir anfangen können, Nachrichten auf dem Bildschirm anzuzeigen oder Eingaben vom Benutzer zu lesen, müssen wir die notwendigen Header-Dateien einbinden. In C++ werden Eingabe- und Ausgabeoperationen durch die iostream-Bibliothek verwaltet.
Lassen Sie uns mit einem einfachen Beispiel beginnen:
#include <iostream>
int main() {
// Dein Code kommt hier
return 0;
}
Dies ist die grundlegende Struktur eines C++-Programms. Die Zeile #include <iostream>
weist den Compiler an, die iostream-Bibliothek einzubinden, die uns Zugriff auf Eingabe- und Ausgabefunktionen gibt.
Der Standard-Ausgabe-Stream (cout)
Nun lernen wir, wie man Text auf dem Bildschirm anzeigt. In C++ verwenden wir cout
(ausgesprochen "see-out"), um Ausgaben an die Konsole zu senden.
#include <iostream>
using namespace std;
int main() {
cout << "Hallo, Welt!";
return 0;
}
Wenn Sie dieses Programm ausführen, wird es "Hallo, Welt!" auf dem Bildschirm anzeigen. Lassen Sie uns das aufteilen:
-
cout
ist das Standard-Ausgabe-Stream-Objekt. - Der
<<
-Operator wird verwendet, um Daten ancout
zu senden. - Der Text innerhalb der doppelten Anführungszeichen wird als Zeichenkette bezeichnet.
Sie können cout
auch verwenden, um mehrere Elemente auszugeben:
cout << "Mein Name ist " << "Alice" << " und ich bin " << 25 << " Jahre alt.";
Dies wird ausgeben: "Mein Name ist Alice und ich bin 25 Jahre alt."
Eine neue Zeile hinzufügen
Um nach einer Ausgabe eine neue Zeile zu beginnen, können Sie den endl
-Manipulator oder das \n
-Zeichen verwenden:
cout << "Erste Zeile" << endl;
cout << "Zweite Zeile\n";
cout << "Dritte Zeile" << '\n';
Der Standard-Eingabe-Stream (cin)
Nun, da wir Text ausgeben können, lernen wir, wie man Eingaben vom Benutzer erhält. Dazu verwenden wir cin
(ausgesprochen "see-in").
#include <iostream>
using namespace std;
int main() {
int alter;
cout << "Wie alt bist du? ";
cin >> alter;
cout << "Du bist " << alter << " Jahre alt!" << endl;
return 0;
}
In diesem Beispiel:
- Wir deklarieren eine Integer-Variable
alter
, um die Eingabe des Benutzers zu speichern. - Wir verwenden
cout
, um den Benutzer auf sein Alter hinzuweisen. -
cin >> alter
liest eine Ganzzahl vom Benutzer und speichert sie in der Variablenalter
. - Schließlich verwenden wir
cout
, um das Ergebnis anzuzeigen.
Sie können auch mehrere Eingaben lesen:
string name;
int alter;
cout << "Gib deinen Namen und dein Alter ein: ";
cin >> name >> alter;
cout << "Hallo, " << name << "! Du bist " << alter << " Jahre alt." << endl;
Der Standard-Fehler-Stream (cerr)
Während cout
großartig für normale Ausgaben ist, müssen wir manchmal Fehlermeldungen anzeigen. Hier kommt cerr
ins Spiel. Es ist ähnlich wie cout
, aber es ist speziell für Fehlermeldungen gedacht.
#include <iostream>
using namespace std;
int main() {
int nenner = 0;
if (nenner == 0) {
cerr << "Fehler: Division durch Null ist nicht möglich!" << endl;
}
return 0;
}
Die Verwendung von cerr
hilft, zwischen normalen Ausgaben und Fehlermeldungen zu unterscheiden, was bei der Fehlersuche in Ihren Programmen entscheidend sein kann.
Der Standard-Log-Stream (clog)
Schließlich haben wir clog
, das für Protokollierungsnachrichten verwendet wird. Es ist ähnlich wie cerr
, aber es könnte gepuffert sein, was bedeutet, dass die Ausgabe möglicherweise nicht sofort angezeigt wird.
#include <iostream>
using namespace std;
int main() {
clog << "Dies ist eine Protokollnachricht." << endl;
return 0;
}
In der Praxis wird clog
nicht so häufig verwendet wie cout
und cerr
, aber es ist gut zu wissen, dass es existiert.
Ausgabe formatieren
Nun, da wir die Grundlagen abgedeckt haben, schauen wir uns einige Möglichkeiten an, unsere Ausgabe schöner zu formatieren.
Feldbreite setzen
Sie können den setw
-Manipulator verwenden, um die Breite eines Feldes zu setzen:
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
cout << setw(10) << "Name" << setw(5) << "Alter" << endl;
cout << setw(10) << "Alice" << setw(5) << 25 << endl;
cout << setw(10) << "Bob" << setw(5) << 30 << endl;
return 0;
}
Dies wird eine schön ausgerichtete Ausgabe erzeugen:
Name Alter
Alice 25
Bob 30
Präzision für Fließkommazahlen
Für Fließkommazahlen können Sie die Präzision mit setprecision
steuern:
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
double pi = 3.14159265359;
cout << "Standard pi: " << pi << endl;
cout << "Pi mit 4 Dezimalstellen: " << fixed << setprecision(4) << pi << endl;
return 0;
}
Ausgabe:
Standard pi: 3.14159
Pi mit 4 Dezimalstellen: 3.1416
Zusammenfassung der I/O-Stream-Objekte und Manipulatoren
Hier ist eine praktische Tabelle, die die I/O-Stream-Objekte und Manipulatoren zusammenfasst, die wir gelernt haben:
Objekt/Manipulator | Beschreibung | Beispiel |
---|---|---|
cout | Standard-Ausgabe-Stream | cout << "Hallo"; |
cin | Standard-Eingabe-Stream | cin >> variable; |
cerr | Standard-Fehler-Stream | cerr << "Fehler!"; |
clog | Standard-Log-Stream | clog << "Protokollnachricht"; |
endl | Zeilenende | cout << "Hallo" << endl; |
setw | Feldbreite setzen | cout << setw(10) << "Name"; |
setprecision | Fließkommapräzision setzen | cout << setprecision(2) << 3.14159; |
Und so ist es! Sie haben gerade die Grundlagen der Eingabe und Ausgabe in C++ gelernt. Denken Sie daran, dass Übung den Meister macht, also experimentieren Sie nicht scheuen mit diesen Konzepten. Versuchen Sie, sie auf verschiedene Weise zu kombinieren, und bald werden Sie komplexe Programme mit Leichtigkeit schreiben können.
Happy coding, und möge Ihre Ausgaben immer so sein, wie erwartet, und Ihre Eingaben immer gültig!
Credits: Image by storyset