53 lines
1.8 KiB
Markdown
53 lines
1.8 KiB
Markdown
|
# Zahlenraten
|
||
|
|
||
|
📆 **Fällig: ----** 📆 [Musterlösung](solution/)
|
||
|
|
||
|
**Ziel**: Ziel dieses Assignments ist es, erste Schritte mit C zu machen und die Syntax kennenzulernen. Als Test Ihrer Kenntnisse werden Sie ein _ganz_ einfaches Spiel in C programmieren.
|
||
|
|
||
|
## Zahlenraten entwickeln
|
||
|
|
||
|
### Beschreibung des Programms
|
||
|
|
||
|
Schreiben Sie ein einfaches Zahlenraten-Spiel (`zahlenraten.c`) in C mit folgenden Eigenschaften:
|
||
|
|
||
|
* Das Spiel zieht zufällig eine Zahl zwischen 1 und 100, die der Benutzer erraten soll.
|
||
|
* Der Benutzer wird aufgefordert eine Zahl zwischen 1 und 100 einzugeben.
|
||
|
* Hat er die richtige Zahl geraten, beendet sich das Programm und zeigt die Anzahl der Versuche an.
|
||
|
* Hat er die Zahl nicht geraten, sagt ihm das Programm, ob die Zahl zu groß oder zu klein war und nimmt die nächste Eingabe entgegen.
|
||
|
|
||
|
Eine beispielhafte Session mit dem Programm sieht dann wie folgt aus:
|
||
|
|
||
|
```console
|
||
|
Bitte geben Sie eine Zahl ein: 50
|
||
|
Zu groß
|
||
|
Bitte geben Sie eine Zahl ein: 25
|
||
|
Zu groß
|
||
|
Bitte geben Sie eine Zahl ein: 12
|
||
|
Zu klein
|
||
|
Bitte geben Sie eine Zahl ein: 20
|
||
|
Zu groß
|
||
|
Bitte geben Sie eine Zahl ein: 16
|
||
|
Zu klein
|
||
|
Bitte geben Sie eine Zahl ein: 18
|
||
|
Zu klein
|
||
|
Bitte geben Sie eine Zahl ein: 19
|
||
|
Richtig nach 7 Versuchen.
|
||
|
```
|
||
|
|
||
|
### C-Features
|
||
|
|
||
|
Bitte verwenden Sie die folgenden C-Features in Ihrem Programm:
|
||
|
|
||
|
* Benutzung von Formatstrings mit `printf`
|
||
|
* Generierung von Zufallszahlen mit der Funktion [random](https://man7.org/linux/man-pages/man3/srandom.3.html)
|
||
|
* Lesen von Zahlen und Strings von er Konsole mit `fgets`
|
||
|
|
||
|
Lesen Sie die Dokumentation von `random` sorgfältig; andernfalls ist 84 die Lösung aller Runden.
|
||
|
|
||
|
|
||
|
|
||
|
## Quellen
|
||
|
|
||
|
* [Skript](https://smits-net.de/files/pr3_c/html/) zur Vorlesung
|
||
|
* [C-Tutorial](https://www.learn-c.org/)
|
||
|
* [C von A bis Z](https://openbook.rheinwerk-verlag.de/c_von_a_bis_z/)
|