Andre Willms Spielend C++ lernen oder wie man Käfern Beine macht Galileo Press
Vorwort 11 1 Das Abenteuer beginnt 13 1.1 Die Programmierumgebung installieren 15 1.2 Der erste Start 20 1.2.1 Visual C++registrieren 21 1.2.2 Erste Einstellungen 25 1.2.3 Einen Ordner vorbereiten 27 1.3 Erstellen eines Projekts 28 1.4 Erstellen eines»ägyptischen Projekts«30 1.5 Schließen des Projekts 33 1.6 Öffnen eines bestehenden Projekts 34 1.6.1 Projekt über Startseite öffnen 35 1.6.2 Projekt über zuletzt geöffnete Projekte öffnen 35 1.6.3 Projekt öffnen über den Menüpunkt»Öffnen«36 1.7 Zusammenfassung 38 2 Anweisungen 39 2.1 Der Algorithmus 42 2.1.1 Vorsicht Fremdwort 42 2.1.2 Darstellung von Algorithmen 43 2.2 Erstellen einer Programmcodedatei 46 2.3 Kompilieren und Starten des eigenen Programms 48 2.3.1 Die Kompilation 49 2.3.2 Das Programm starten 51 2.3.3 Fenster schließt sich sofort? 53 2.4 Die Hauptfunktion 53 2.5 Scara lernt laufen 54 2.5.1 Die Übung korrekt beenden 58 2.5.2 Dem Käfer Beine machen 59 2.5.3 Vermeide den Abgrund 61 2.6 Fehlerfinden 61 2.7 Ausgabe in C++ 65 2.7.1 Namensbereiche 65 2.7.2 Sprache und Bibliothek 66 2.7.3 include 67 2.7 A using namespace 67 5
2.7.5 Zeilenumbrüche 68 2.7.6 Ausgabe in Ägypten 68 2.8 Übung 70 2.9 Zusammenfassung 70 3 Funktionen I 71 3.1 Scara lernt die Drehung 73 3.2 Anweisungen gruppieren 75 3.3 Namensregeln 79 3.4 Ein weiteres Anwendungsbeispiel 80 3.5 Übungen 82 3.6 Zusammenfassung 83 4 Zeichnen 85 4.1 Das Zeichenbrett 87 4.2 Das Koordinatensystem 88 4.3 Die Zeichenfunktionen 89 4.3.1 Zeichnen eines Punktes 89 4.3.2 Zeichnen einer Linie 90 4.3.3 Zeichnen einer Ellipse 91 4.3.4 Zeichnen eines Dreiecks 92 4.3.5 Zeichnen eines Rechtecks 93 4.3.6 Zeichnen eines Vierecks 94 4.3.7 Zeichnen von Text 94 4.3.8 Löschen des Zeichenbretts 95 4.3.9 Angeben der Liniendicke 95 4.4 Definieren der Zeichenfarbe 96 4.4.1 Das Farbsystem RGB 96 4.4.2 Die Funktionen zum Setzen der Farbe 97 4.4.3 Die Funktionen zum Auslesen der Farbe 98 4.5 Kommentare 99 4.5.1 Einzeilige Kommentare 99 4.5.2 Mehrzeilige Kommentare 99 4.5.3 Kommentare zum Ausklammern von Anweisungen 100 4.6 Übung 100 4.7 Zusammenfassung 101 5 Rechnen und Variablen 103 5.1 Numerische Werte 105 5.2 Die Grundrechenarten 106 6
5.3 Der Restwertoperator 107 5.4 Variablen 108 5.4.1 Definition einer Variablen 110 5.4.2 Variablen im Einsatz 113 5.5 Die Eingabe 114 5.6 Rechnen für Mathemahotep 116 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 127 6.1 Lokale Variablen 127 6.2 Anweisungen flexibler gestalten mit Parametern 129 6.3 Funktionen mit Parametern 132 6.4 Funktionen mit Rückgabewert 134 6.5 Funktionen mit Parametern und Rückgabewert 135 6.6 Übungen 136 6.7 Zusammenfassung 140 7 Verzweigungen 141 7.1 Die Notwendigkeit von Entscheidungen 143 7.2 Die Wenn-Dann-Verzweigung 146 7.3 Vergleichsoperatoren 148 7.4 Die Entweder-Oder-Verzweigung 150 7.5 Das Formulieren von Und und Oder 153 7.5.1 Verschachtelte Verzweigungen 153 7.5.2 Logisches Und 155 7.5.3 Logisches Oder 156 7.6 Die logische Verneinung 157 7.7 Fallunterscheidung 157 7.8 Der Datentyp»bool«160 7.9 Für Fortgeschrittene 161 7.9.1 Vereinfachung von Bedingungen 161 7.9.2 Vereinfachung von Anweisungsblöcken 162 7.9.3 Kurzschlüsse bei den logischen Operatoren 163 7
7.10 Übungen 165 7.11 Zusammenfassung 166 8 Wiederholungen 167 8.1 Die einfachste Art der Wiederholung:»while«168 8.2 Auf immer und ewig: Endlosschleifen 170 8.3 Erst machen, dann prüfen:»do... while«171 8.4 Zählen mitschleifen 174 8.5 Von vorn bis hinten:»for«175 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 193 9.1 Funktionen deklarieren 194 9.2 Die Funktion auslagern 195 9.3 Die Deklaration auslagern 196 9.4 Einbinden bestehender Dateien 199 9.5 Übungen 201 9.6 Zusammenfassung 205 10 Spielereien I 207 10.1 Ein Zahlenratespiel 209 10.1.1 Zufallszahlen 209 10.1.2 Die Spielschleife 210 10.1.3 Spielerhilfen hinzufügen 211 10.2 Das Zwölferspiel 212 10.2.1 Die Darstellung des Spielbretts 212 10.2.2 Der menschliche Spieler 213 10.2.3 Der Computerspieler 214 10.2.4 Die Spielschleife 215 10.2.5 Ein unschlagbarer Computerspieler 216 10.3 Übungen 219 8
11 Arrays 221 11.1 Einfaches Speichern mehrerer Werte 221 11.2 Vektoren 224 11.2.1 Die Größe eines Vektors 225 11.2.2 Elemente entfernen 226 11.2.3 Vektoren als Funktionsparameter 226 11.3 Deques 228 11.4 Übungen 229 11.5 Zusammenfassung 232 12 Strings 233 12.1 Ein Zeichen speichern 234 12.1.1 Zeichen sind Werte, Werte sind Zeichen 235 12.1.2 Die Zeichenart feststellen 236 12.1.3 Groß-und Kleinbuchstaben 237 12.2 Speichern von Zeichenketten 237 12.2.1 Strings einlesen 238 12.2.2 Mit Strings arbeiten 238 12.3 Texte verschlüsseln 240 12.3.1 Die Caesar-Verschlüsselung 240 12.3.2 Ein Zeichen verschlüsseln 241 12.3.3 Ein Zeichen entschlüsseln 242 12.3.4 Einen Text verschlüsseln 242 12.3.5 Einen Text entschlüsseln 243 12.3.6 Das Hauptprogramm 243 12.4 Übungen 244 12.5 Zusammenfassung 246 13 Strukturen 247 13.1 Zusammengesetzte Daten 248 13.2 Definition einer Struktur 249 13.3 Problem der Mehrfachdefinition 252 13.4 Verwendung von Strukturen 254 13.4.1 Strukturen und Arrays/Vektoren 254 13.4.2 Strukturen als Funktionsparameter 255 13.5 Ein Beispiel 255 13.6 Übungen 257 13.7 Zusammenfassung 257 9
14 Klassen 259 14.1 Definition einer Klasse 260 14.2 Zugriffsrechte 261 14.3 Methoden 261 14.4 Konstruktoren 262 14.5 Zugriffsmethoden 264 14.6 Übungen 265 14.7 Zusammenfassung 269 15 Spielereien II 271 15.1 Galgenmännchen 272 15.1.1 Das Grundgerüst der Klasse 272 15.1.2 Der Konstruktor 273 15.1.3 Das Zeichnen des Spielfeldes 274 15.1.4 Das Prüfen eines Zeichens 276 15.1.5 Das Prüfen auf Spielende 278 15.1.6 Die Spielschleife 279 15.2 Mastermind 280 15.2.1 Der Farbcode 280 15.2.2 Die Konstruktoren 281 15.2.3 Die Darstellung 282 15.2.4 Die Codeauswertung 284 15.2.5 Lösung gefunden? 287 15.2.6 Die Klasse»Mastermind«287 15.2.7 Der Konstruktor 288 15.2.8 Die Darstellung 288 15.2.9 Der Mensch spielt 290 15.2.10Der Computer rät 292 15.3 Übungen 297 16 Ende 299 Anhang A Lösungen 305 В Programmiertrick»Zufallszahlen«369 С Nützliche Übersichten 373 D Hinweise zu den Code-Beispielen 379 Index 381 10