1) Start: Wie ein C++-Programm aussieht
Ein Programm ist eine Liste von Anweisungen. Es startet meistens in der Funktion main().
Viele Beispiele nutzen #include <iostream> für Ein- und Ausgabe.
#include <iostream>
using namespace std;
int main() {
cout << "Hallo Welt!" << endl;
return 0;
}
#include <iostream>– Bibliothek fürcout/cinusing namespace std;– erlaubtcoutstattstd::coutint main()– Startpunkt des Programms;– jede Anweisung endet mit Semikolon{ }– Block-Klammern: mehrere Zeilen gehören zusammen
2) Ein- und Ausgabe (cin / cout)
Mit cout gibst du etwas aus. Mit cin liest du Eingaben ein.
cout << "Text" << endl;
cout << 5 << " + " << 7 << " = " << (5 + 7) << endl;
int alter;
cout << "Wie alt bist du? ";
cin >> alter;
cout << "Du bist " << alter << " Jahre alt." << endl;
Hinweis: Eingabe mit Leerzeichen (optional)
cin >> name; liest nur bis zum ersten Leerzeichen.
Für ganze Zeilen kann man später getline nutzen.
#include <iostream>
#include <string>
using namespace std;
int main() {
string s;
cout << "Schreibe einen Satz: ";
getline(cin, s);
cout << "Du hast geschrieben: " << s << endl;
}
3) Variablen & Datentypen
Variablen sind „Kästchen“, in denen Werte gespeichert werden. Der Datentyp sagt, welche Art Wert hineinpasst.
int– ganze Zahl (z. B. 3, 42)double– Kommazahl (z. B. 3.14)bool–trueoderfalsechar– einzelnes Zeichen (z. B.'A')string– Text (z. B."Hallo")
#include <string>
int alter = 9;
double pi = 3.14;
bool hatHut = false;
char note = 'A';
string name = "Mia";
'A'(char) ist ein Zeichen"A"(string) ist Text=bedeutet: „zuweisen“ (nicht „gleich“)
punkte, summe, anzahl statt nur x.
4) Operatoren (Rechnen & Vergleichen)
int a = 10, b = 3;
cout << (a + b) << endl; // 13
cout << (a - b) << endl; // 7
cout << (a * b) << endl; // 30
cout << (a / b) << endl; // 3 (Ganzzahl-Division!)
cout << (a % b) << endl; // 1 (Rest)
int ist 10 / 3 gleich 3. Für Komma nutze double.
int x = 7;
x == 7 // ist x gleich 7?
x != 7 // ist x ungleich 7?
x > 7 // größer
x < 7 // kleiner
x >= 7 // größer oder gleich
x <= 7 // kleiner oder gleich
// Logische Operatoren:
(x > 3) && (x < 10) // UND
(x < 3) || (x > 10) // ODER
!(x == 7) // NICHT
= ist Zuweisung. == ist Vergleich.
5) if / else (Entscheidungen)
Mit if prüfst du eine Bedingung. Wenn sie stimmt, wird der Block ausgeführt. Sonst else.
#include <iostream>
using namespace std;
int main() {
int punkte;
cout << "Punkte: ";
cin >> punkte;
if (punkte >= 10) {
cout << "Level geschafft!" << endl;
} else {
cout << "Noch nicht. Sammle mehr Punkte." << endl;
}
}
Mehrere Fälle: else if
int temp = 18;
if (temp < 0) {
cout << "Eis!" << endl;
} else if (temp < 20) {
cout << "Kühl." << endl;
} else {
cout << "Warm." << endl;
}
6) Schleifen (for / while)
Schleifen wiederholen Code. Das ist essenziell für Zählen, Muster, Spiele, Simulationen und Datenverarbeitung.
// 1 bis 5
for (int i = 1; i <= 5; i++) {
cout << i << " ";
}
// Gerade Zahlen 0..20
for (int i = 0; i <= 20; i += 2) {
cout << i << " ";
}
int k = 3;
while (k > 0) {
cout << k << endl;
k--; // wichtig, sonst Endlosschleife
}
for oft am einfachsten. Für „solange Bedingung stimmt“ ist while gut.
Loop im Loop: Sternchen-Treppe (Muster)
for (int zeile = 1; zeile <= 5; zeile++) {
for (int s = 1; s <= zeile; s++) {
cout << "*";
}
cout << endl;
}
7) Funktionen
Funktionen sind „Mini-Programme“ im Programm. Sie helfen, Code aufzuräumen und wiederzuverwenden.
#include <iostream>
using namespace std;
int add(int a, int b) {
return a + b;
}
int main() {
cout << add(3, 4) << endl; // 7
}
intvor dem Namen = Rückgabetyp (was zurückkommt)- Parameter in den Klammern = Eingaben für die Funktion
returngibt das Ergebnis zurück- Wenn nichts zurückgegeben wird:
void
void sagHallo(string name) {
cout << "Hallo " << name << endl;
}
8) Arrays & Vektoren (kurz, aber wichtig)
Wenn du viele Werte hast (z. B. Punkte von 10 Spielern), brauchst du Listen.
In modernem C++ ist vector oft besser als ein „rohes“ Array.
int zahlen[5] = {2, 4, 6, 8, 10};
cout << zahlen[0] << endl; // 2
for (int i = 0; i < 5; i++) {
cout << zahlen[i] << " ";
}
zahlen[4].
#include <vector>
using namespace std;
vector<int> v = {1, 2, 3};
v.push_back(4);
for (int i = 0; i < (int)v.size(); i++) {
cout << v[i] << " ";
}
9) Strings (Text)
Text ist in C++ meist ein string.
#include <iostream>
#include <string>
using namespace std;
int main() {
string name = "Kati";
cout << "Laenge: " << name.size() << endl; // Anzahl Zeichen
cout << name[0] << endl; // erstes Zeichen: 'K'
}
Textzeile mit Leerzeichen: getline
string s;
getline(cin, s);
10) Häufige Fehler & Debugging
- Semikolon
;vergessen - Klammern
{ }fehlen oder falsch gesetzt =statt==(oder umgekehrt)- Index-Fehler: bei Arrays/Vektoren über die Grenze
- Ganzzahl-Division:
10/3ist 3 (beiint) - Endlosschleife: Schritt fehlt (z. B.
i++) - Zeichen vs. Text:
'A'vs."A" - Falsche Variablen-Namen (Groß/Klein beachten)
- Baue „Kontroll-Ausgaben“ ein:
cout << "i=" << i << endl; - Teste in kleinen Schritten: erst Ausgabe, dann Eingabe, dann if, dann Loop
- Lies Fehlermeldungen: Zeile/Spalte sind fast immer hilfreich
- Wenn es crasht: oft Index außerhalb (z. B.
v[i])
11) Aufgaben (Level 1–3)
Diese Aufgaben passen gut für Kinder/Anfänger. Nutze cout, cin, if, for.
- Zahlen 1 bis 30 ausgeben
- Countdown 10 bis 1
- 5× „Ich kann C++!“
- Summe 1 bis 10
- Gerade Zahlen 2 bis 40
- Zahl n einlesen und 1×n bis 10×n ausgeben
- Wenn Zahl gerade → „gerade“, sonst „ungerade“
- Kleinster von 3 Zahlen (if/else if)
- Sternchen-Treppe (Loop im Loop)
- Rechteck 4×10 aus #
- Mini-Noten-Rechner: Punkte → Note A/B/C
- Funktion
addodermax2schreiben
Starter-Template zum Kopieren
#include <iostream>
#include <string>
using namespace std;
int main() {
// Dein Code hier
return 0;
}
12) Mini-Projekt: Zahlen-Quiz (kurz & motivierend)
Ein kleines Projekt, das alles verbindet: Eingabe, if, Schleifen, Zufall (optional später). Hier erst ohne Zufall: Der „geheime“ Wert ist fest.
#include <iostream>
using namespace std;
int main() {
int geheim = 7;
int tipp = 0;
cout << "Rate die Zahl (1..10). Du hast 3 Versuche." << endl;
for (int versuch = 1; versuch <= 3; versuch++) {
cout << "Versuch " << versuch << ": ";
cin >> tipp;
if (tipp == geheim) {
cout << "Richtig!" << endl;
return 0;
} else if (tipp < geheim) {
cout << "Zu klein." << endl;
} else {
cout << "Zu groß." << endl;
}
}
cout << "Leider verloren. Die Zahl war " << geheim << "." << endl;
return 0;
}