Initial commit
This commit is contained in:
commit
6451266878
13 changed files with 2532 additions and 0 deletions
38
README_de.md
Normal file
38
README_de.md
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
## IF.03.22 POSE - Procedural Programming
|
||||
|
||||
# Aufgabe: Car - Abstract Data Type
|
||||
|
||||
[English version](./README.md)
|
||||
|
||||
Es soll ein abstrakter Datentyp __Car__ implementiert werden, welcher einfache Grundfunktionalitäten eines Autos realisiert.
|
||||
|
||||
## Beispiel
|
||||
|
||||
Die Codesequenz um ein Auto aus einem Autoabstellplatz zu bekommen und auf 100 km/h zu beschleunigen wäre folgendermaßen:
|
||||
|
||||
```c
|
||||
Car c = get_char(JEEP);
|
||||
if (get_color(c) == BLACK) {
|
||||
set_acceleration_rate(c, 3);
|
||||
while (get_speed(c) < 100)
|
||||
accelerate(c);
|
||||
} else {
|
||||
printf("I only drive black cars!")
|
||||
}
|
||||
```
|
||||
|
||||
## Aufgabe
|
||||
|
||||
- Definieren Sie zwei enums `CarType` und `Color`.
|
||||
- Machen Sie eine forward-Deklaration für den Car, damit die Prototypen im h-file vom Compiler akzeptiert werden.
|
||||
- Erstellen Sie minimale Leerimplementierungen für alle erforderlichen Funktionen. Damit müsste das Gesamtprojekt bauen.
|
||||
- Definieren Sie das struct aus der forward-Deklaration.
|
||||
- Erstellen Sie lokale (nur im File car.cpp) Variablen für alle erforderlichen Autos.
|
||||
- Erstellen Sie ein lokales Array `car_park` in welchem alle Autos abgespeichert werden können.
|
||||
- Schreiben Sie ein Programm in Datei `car_main_driver.c`, dass alle Autos, welche in `car.cpp` definiert sind, um die Wette fahren lässt.
|
||||
- Ausbaustufe 1: Holen Sie sich alle Autos aus `car.cpp` und geben Sie diese untereinander im Terminal aus.
|
||||
Symbolisieren Sie die Autos durch deren Anfangsbuchstaben und eine laufende Nummer.
|
||||
- Ausbaustufe 2: Lassen Sie die Autos nun "fahren", indem Sie in jeder Runde die Beschleunigung zufällig für jedes Auto setzen und aufgrund der daraus resultierenden Geschwindigkeit das Auto entsprechend nach rechts setzen.
|
||||
Das Rennen soll abgebrochen werden, sobald ein Auto das Ziel (den rechten Bildschirmrand) erreicht hat.
|
||||
|
||||
> Achtung: Die Geschwindingkeit wird in km/h, die Beschleunigung in m/s angegeben!
|
||||
Loading…
Add table
Add a link
Reference in a new issue