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!

C++ Basic Input/Output

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 an cout 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 Variablen alter.
  • 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