Spielend C++ lernen - Für Programmieranfänger von 12 bis 99 Jahren
von: André Willms
Galileo Press, 2011
ISBN: 9783836218184
Sprache: Deutsch
389 Seiten, Download: 10103 KB
Format: PDF, auch als Online-Lesen
Auf einen Blick | 4 | ||
Inhalt | 6 | ||
Vorwort | 14 | ||
1 Das Abenteuer beginnt | 16 | ||
1.1 Die Programmierumgebung installieren | 18 | ||
1.2 Der erste Start | 23 | ||
1.2.1 Visual C++ registrieren | 24 | ||
1.2.2 Erste Einstellungen | 28 | ||
1.2.3 Einen Ordner vorbereiten | 30 | ||
1.3 Erstellen eines Projekts | 30 | ||
1.4 Erstellen eines »ägyptischen Projekts« | 33 | ||
1.5 Schließen des Projekts | 36 | ||
1.6 Öffnen eines bestehenden Projekts | 37 | ||
1.6.1 Projekt über Startseite öffnen | 38 | ||
1.6.2 Projekt über zuletzt geöffnete Projekte öffnen | 38 | ||
1.6.3 Projekt öffnen über den Menüpunkt »Öffnen« | 39 | ||
1.7 Wenn es nicht klappt | 41 | ||
1.8 Zusammenfassung | 42 | ||
2 Anweisungen | 44 | ||
2.1 Der Algorithmus | 46 | ||
2.1.1 Vorsicht, Fremdwort | 46 | ||
2.1.2 Darstellung von Algorithmen | 48 | ||
2.2 Erstellen einer Programmcodedatei | 50 | ||
2.3 Kompilieren und Starten des eigenen Programms | 53 | ||
2.3.1 Die Kompilation | 54 | ||
2.3.2 Das Programm starten | 56 | ||
2.3.3 Das Fenster schließt sich sofort? | 57 | ||
2.4 Die Hauptfunktion | 58 | ||
2.5 Scara lernt laufen | 59 | ||
2.5.1 Die Übung korrekt beenden | 62 | ||
2.5.2 Dem Käfer Beine machen | 63 | ||
2.5.3 Vermeide den Abgrund | 65 | ||
2.6 Fehler finden | 66 | ||
2.7 Ausgabe in C++ | 69 | ||
2.7.1 Namensbereiche | 70 | ||
2.7.2 Sprache und Bibliothek | 71 | ||
2.7.3 include | 72 | ||
2.7.4 using namespace | 72 | ||
2.7.5 Zeilenumbrüche | 73 | ||
2.7.6 Ausgabe in Ägypten | 73 | ||
2.8 Übung | 75 | ||
2.9 Zusammenfassung | 75 | ||
3 Funktionen I | 76 | ||
3.1 Scara lernt die Drehung | 77 | ||
3.2 Anweisungen gruppieren | 80 | ||
3.3 Namensregeln | 83 | ||
3.4 Ein weiteres Anwendungsbeispiel | 84 | ||
3.5 Übungen | 86 | ||
3.6 Zusammenfassung | 87 | ||
4 Zeichnen | 88 | ||
4.1 Das Zeichenbrett | 89 | ||
4.2 Das Koordinatensystem | 90 | ||
4.3 Die Zeichenfunktionen | 92 | ||
4.3.1 Zeichnen eines Punktes | 92 | ||
4.3.2 Zeichnen einer Linie | 92 | ||
4.3.3 Zeichnen einer Ellipse | 93 | ||
4.3.4 Zeichnen eines Dreiecks | 94 | ||
4.3.5 Zeichnen eines Rechtecks | 95 | ||
4.3.6 Zeichnen eines Vierecks | 95 | ||
4.3.7 Zeichnen von Text | 96 | ||
4.3.8 Löschen des Zeichenbretts | 96 | ||
4.3.9 Angeben der Liniendicke | 97 | ||
4.4 Definieren der Zeichenfarbe | 98 | ||
4.4.1 Das Farbsystem RGB | 98 | ||
4.4.2 Die Funktionen zum Setzen der Farbe | 99 | ||
4.4.3 Die Funktionen zum Auslesen der Farbe | 100 | ||
4.5 Kommentare | 100 | ||
4.5.1 Einzeilige Kommentare | 100 | ||
4.5.2 Mehrzeilige Kommentare | 100 | ||
4.5.3 Kommentare zum Ausklammern von Anweisungen | 101 | ||
4.6 Übung | 102 | ||
4.7 Zusammenfassung | 102 | ||
5 Rechnen und Variablen | 104 | ||
5.1 Numerische Werte | 106 | ||
5.2 Die Grundrechenarten | 107 | ||
5.3 Der Restwertoperator | 108 | ||
5.4 Variablen | 108 | ||
5.4.1 Definition einer Variablen | 111 | ||
5.4.2 Variablen im Einsatz | 112 | ||
5.5 Die Eingabe | 113 | ||
5.6 Rechnen für Mathemahotep | 115 | ||
5.7 Zahlen mit Nachkommastellen | 120 | ||
5.7.1 Definition von Fließkommazahlen | 120 | ||
5.7.2 Vorsicht bei »int« und »float« | 121 | ||
5.8 Für Fortgeschrittene | 121 | ||
5.8.1 Zusammengesetzte Zuweisungsoperatoren | 122 | ||
5.8.2 Explizite Typumwandlung | 123 | ||
5.9 Übungen | 124 | ||
5.10 Zusammenfassung | 126 | ||
6 Funktionen II | 128 | ||
6.1 Lokale Variablen | 129 | ||
6.2 Anweisungen flexibler gestalten mit Parametern | 132 | ||
6.3 Funktionen mit Parametern | 134 | ||
6.4 Funktionen mit Rückgabewert | 136 | ||
6.5 Funktionen mit Parametern und Rückgabewert | 137 | ||
6.6 Übungen | 138 | ||
6.7 Zusammenfassung | 142 | ||
7 Verzweigungen | 144 | ||
7.1 Die Notwendigkeit von Entscheidungen | 145 | ||
7.2 Die Wenn-Dann-Verzweigung | 148 | ||
7.3 Vergleichsoperatoren | 150 | ||
7.4 Die Entweder-Oder-Verzweigung | 152 | ||
7.5 Das Formulieren von Und und Oder | 155 | ||
7.5.1 Verschachtelte Verzweigungen | 155 | ||
7.5.2 Logisches Und | 157 | ||
7.5.3 Logisches Oder | 157 | ||
7.6 Die logische Verneinung | 158 | ||
7.7 Fallunterscheidung | 159 | ||
7.8 Der Datentyp »bool« | 161 | ||
7.9 Für Fortgeschrittene | 162 | ||
7.9.1 Vereinfachung von Bedingungen | 163 | ||
7.9.2 Vereinfachung von Anweisungsblöcken | 164 | ||
7.9.3 Kurzschlüsse bei den logischen Operatoren | 164 | ||
7.10 Übungen | 166 | ||
7.11 Zusammenfassung | 167 | ||
8 Wiederholungen | 168 | ||
8.1 Die einfachste Art der Wiederholung: »while« | 169 | ||
8.2 Auf immer und ewig: Endlosschleifen | 171 | ||
8.3 Erst machen, dann prüfen: »do ... while« | 172 | ||
8.4 Zählen mit Schleifen | 174 | ||
8.5 Von vorn bis hinten: »for« | 176 | ||
8.6 Schleifen verschachteln | 177 | ||
8.7 Ein paar Beispiele | 178 | ||
8.7.1 Zeichnen einer Röhre | 178 | ||
8.7.2 Ein Effekt mit Ellipsen | 179 | ||
8.7.3 Farben mischen | 181 | ||
8.8 Für Fortgeschrittene | 182 | ||
8.8.1 Inkrement und Dekrement | 182 | ||
8.8.2 Schleifenabbruch | 184 | ||
8.9 Übungen | 185 | ||
8.10 Zusammenfassung | 190 | ||
9 Module | 192 | ||
9.1 Funktionen beliebig positionieren | 194 | ||
9.2 Funktionen deklarieren | 195 | ||
9.3 Die Funktion auslagern | 196 | ||
9.4 Die Deklaration auslagern | 197 | ||
9.5 Einbinden bestehender Dateien | 200 | ||
9.6 Übungen | 202 | ||
9.7 Zusammenfassung | 206 | ||
10 Spielereien I | 208 | ||
10.1 Ein Zahlenratespiel | 210 | ||
10.1.1 Zufallszahlen | 210 | ||
10.1.2 Die Spielschleife | 211 | ||
10.1.3 Spielerhilfen hinzufügen | 212 | ||
10.2 Das Zwölferspiel | 212 | ||
10.2.1 Die Darstellung des Spielbretts | 213 | ||
10.2.2 Der menschliche Spieler | 214 | ||
10.2.3 Der Computerspieler | 215 | ||
10.2.4 Die Spielschleife | 215 | ||
10.2.5 Ein unschlagbarer Computerspieler | 217 | ||
10.3 Übungen | 219 | ||
11 Arrays | 222 | ||
11.1 Einfaches Speichern mehrerer Werte | 223 | ||
11.2 Vektoren | 226 | ||
11.2.1 Die Größe eines Vektors | 227 | ||
11.2.2 Elemente entfernen | 227 | ||
11.2.3 Vektoren als Funktionsparameter | 228 | ||
11.3 Deques | 230 | ||
11.4 Übungen | 231 | ||
11.5 Zusammenfassung | 234 | ||
12 Strings | 236 | ||
12.1 Ein Zeichen speichern | 237 | ||
12.1.1 Zeichen sind Werte, Werte sind Zeichen | 238 | ||
12.1.2 Die Zeichenart feststellen | 238 | ||
12.1.3 Groß- und Kleinbuchstaben | 239 | ||
12.2 Speichern von Zeichenketten | 240 | ||
12.2.1 Strings einlesen | 240 | ||
12.2.2 Mit Strings arbeiten | 240 | ||
12.3 Texte verschlüsseln | 242 | ||
12.3.1 Die Caesar-Verschlüsselung | 243 | ||
12.3.2 Ein Zeichen verschlüsseln | 243 | ||
12.3.3 Ein Zeichen entschlüsseln | 244 | ||
12.3.4 Einen Text verschlüsseln | 245 | ||
12.3.5 Einen Text entschlüsseln | 246 | ||
12.3.6 Das Hauptprogramm | 246 | ||
12.4 Übungen | 247 | ||
12.5 Zusammenfassung | 249 | ||
13 Strukturen | 250 | ||
13.1 Zusammengesetzte Daten | 251 | ||
13.2 Definition einer Struktur | 252 | ||
13.3 Problem der Mehrfachdefinition | 255 | ||
13.4 Verwendung von Strukturen | 257 | ||
13.4.1 Strukturen und Arrays/Vektoren | 257 | ||
13.4.2 Strukturen als Funktionsparameter | 258 | ||
13.5 Ein Beispiel | 258 | ||
13.6 Übungen | 260 | ||
13.7 Zusammenfassung | 260 | ||
14 Klassen | 262 | ||
14.1 Von der Struktur zur Klasse | 263 | ||
14.2 Definition einer Klasse | 264 | ||
14.3 Zugriffsrechte | 265 | ||
14.4 Methoden | 266 | ||
14.5 Konstruktoren | 267 | ||
14.6 Zugriffsmethoden | 269 | ||
14.7 Übungen | 270 | ||
14.8 Zusammenfassung | 274 | ||
15 Spielereien II | 276 | ||
15.1 Galgenmännchen | 277 | ||
15.1.1 Das Grundgerüst der Klasse | 277 | ||
15.1.2 Der Konstruktor | 278 | ||
15.1.3 Das Zeichnen des Spielfeldes | 279 | ||
15.1.4 Das Prüfen eines Zeichens | 281 | ||
15.1.5 Das Prüfen auf Spielende | 283 | ||
15.1.6 Die Spielschleife | 284 | ||
15.2 Mastermind | 285 | ||
15.2.1 Der Farbcode | 285 | ||
15.2.2 Die Konstruktoren | 286 | ||
15.2.3 Die Darstellung | 287 | ||
15.2.4 Die Codeauswertung | 290 | ||
15.2.5 Lösung gefunden? | 292 | ||
15.2.6 Die Klasse »Mastermind« | 292 | ||
15.2.7 Der Konstruktor | 293 | ||
15.2.8 Die Darstellung | 293 | ||
15.2.9 Der Mensch spielt | 295 | ||
15.2.10 Der Computer rät | 297 | ||
15.3 Übungen | 302 | ||
16 Ende | 304 | ||
A Lösungen | 310 | ||
A.1 Lösungen zu Kapitel 3 | 310 | ||
A.2 Lösungen zu Kapitel 4 | 313 | ||
A.3 Lösungen zu Kapitel 5 | 313 | ||
A.4 Lösungen zu Kapitel 6 | 318 | ||
A.5 Lösungen zu Kapitel 7 | 324 | ||
A.6 Lösungen zu Kapitel 8 | 326 | ||
A.7 Lösungen zu Kapitel 9 | 332 | ||
A.8 Lösungen zu Kapitel 10 | 341 | ||
A.9 Lösungen zu Kapitel 11 | 345 | ||
A.10 Lösungen zu Kapitel 12 | 353 | ||
A.11 Lösungen zu Kapitel 13 | 358 | ||
A.12 Lösungen zu Kapitel 14 | 361 | ||
A.13 Lösungen zu Kapitel 15 | 368 | ||
B Programmiertrick »Zufallszahlen« | 374 | ||
C Hinweise zu den Code-Beispielen | 378 | ||
D Nützliche Übersichten | 380 | ||
D.1 Spezielle Befehle dieses Buchs | 380 | ||
D.1.1 Scara-Befehle | 380 | ||
D.1.2 Zeichenbrett-Befehle | 381 | ||
D.2 Allgemeingültige C++-Befehle | 382 | ||
D.2.1 Verwendete Schlüsselwörter und Elemente von C++ | 382 | ||
D.2.2 Verwendete Operatoren | 384 | ||
Index | 386 |