DCV 2022 03/Strukturierte Programmierung Uebungen/Input: Unterschied zwischen den Versionen

Aus CCWiki
Zur Navigation springen Zur Suche springen
Zeile 106: Zeile 106:
=== '''Bonusaufgabe: Visitenkarte''' ===
=== '''Bonusaufgabe: Visitenkarte''' ===


Erstelle eine Applikation, die vom Benutzer seine Daten abfragt und die Daten schön (ASCII Graphisch) auf Konsole darstellt. Das Ziel ist, wie eine echte Visitenkarte aussehen lassen.  
Erstelle eine Applikation, die die Daten des Benutzers abfragt und diese schön (ASCII Graphisch) in der Konsole ausgibt. Das Ziel ist, das ganze wie eine echte Visitenkarte aussehen zu lassen.  


[[Datei:Visitenkarten-günstig-erstellen-und-drucken-lassen.webp|mini]]
'''Anforderungen:'''
 
Anforderungen:
* Stern als Zeichen für Kartenrand
* Stern als Zeichen für Kartenrand
* Die Proportion der Karte entspricht dem Original (85mm x 55mm)
* Die Proportion der Karte entspricht dem Original (85mm x 55mm)
* Design (in der Mitte zentriert) Siehe: das Bild
* Design (in der Mitte zentriert) Siehe: das Bild
[[Datei:Visitenkarten-günstig-erstellen-und-drucken-lassen.webp|mini|ohne]]


=== '''Bonusaufgabe: Das Spiel beginnt''' ===
=== '''Bonusaufgabe: Das Spiel beginnt''' ===

Version vom 31. März 2022, 05:41 Uhr

Im folgenden werden verschiedene Aufgaben zum Lesen von Userinput gestellt. Erstelle wo nötig Methoden um die Komplexität gering zu halten.

Aufgabe: String einlesen

Lies mit Hilfe des berühmten Scanners einen String des Benutzers ein und gib diesen aus.

Aufgabe: Zahl einlesen

Lies mit Hilfe des berühmten Scanners einen int des Benutzers ein und gib diese aus.

  1. Wird keine Zahl eingegeben kann das Programm abstürzen
  2. Frag solange nach einer Zahl bis auch eine eingegeben wurde, das Programm darf bei Fehleingabe nicht abstürzen

Aufgabe: Ratespiel

Es soll eine beliebige Zahl zwischen 0 und 100 mittels new Random().nextInt(...) gewählt werden. Nun soll die Zahl durch Eingabe über die Konsole erraten werden. Ist die Zahl zu hoch oder zu niedrig, so soll diese Information ausgegeben werden. Wurde die Zahl getroffen, so ist das Spiel gewonnen und das Programm wird beendet.

Wird keine Zahl eingegeben so darf das Programm nicht abstürzen und es soll erneut nach einer Zahl gefragt werden.

Ausgabe

Willkommen beim super coolen Zahlen Ratespiel!
Errate die Zahl zwischen 0 und 100!
Gib die Zahl nun ein:
>>>4
Die Zahl ist zu niedrig!
>>>90
Die Zahl ist zu hoch!
>>>30
Die Zahl ist zu hoch!
>>>15
Du hast gewonnen!!!

Aufgabe: Erweitere die früheren Aufgaben um Benutzereingabe

Erweitere deine früheren Lösungen so, dass die Parameter über die Konsole eingegeben werden können.

Aufgabe: Menü

Erstelle ein Menü dass über die Konsole gesteuert werden kann. Durch dieses Menü können die verschiedenen geometrischen Programme ausgewählt und ausgeführt werden. Hierbei kann auf die Methode der vorhergehenden Aufgabe zurückgegriffen werden.

Ausgabe

Willkommen bei meinen Aufgaben!
Was möchten Sie zeichnen?
1) Christbaum
2) Quader
3) Rhombus
Bitte wählen Sie nun?
>>>2
Wie groß soll der Quader sein?
>>>4
Welches Zeichen soll verwendet werden?
>>>*
****
*  *
*  *
****
Möchten Sie noch etwas zeichnen? (j/n)
>>>n
Auf Wiedersehen!

Aufgabe: Taschenrechner

Erstelle einen Taschenrechner. Lies mit Hilfe berühmten Scanners vom Benutzer zuerst einen float ein, dann den Operator (+,-,*,^,/), dann wieder einen float ein. Nach dem einlesen führe die gewünschte Rechenoperation aus. Bei Fehleingaben egal ob bei den Zahlen oder beim Operator, soll erneut nachgefragt werden.

Aufgabe: Taschenrechner (Code Review)

Mach ein Code Review mit einem von deinen Kollegen, identifiziere Verbesserungspotentiale (z.B. Code-Duplikate zu eliminieren)

Aufgabe: Taschenrechner extended

Erweitere den Taschenrechner aus der vorhergehenden Aufgabe so, dass nach der Berechnung nachgefragt wird, ob eine neue Berechnung stattfinden soll, falls nicht, soll das Programm beendet werden.

Bonusaufgabe: Taschenrechner weiterrechnen

Erweiter deinen Taschenrechner mit der Funktion, um das Zwischenergebnis weiterverwenden zu können

Zum Beispiel:

3

+

2 (Ergebnis: 5)

*

4 (Ergebnis: 20)

/

40 (Ergebnis: 0.5)


Bonusaufgabe: Taschenrechner mit Memory Funktion

Erweiter deinen Taschenrechner mit der Memory Funktion.

Neue Operationen sind:

MC Memory Clear

M+ Memory Add

M- Memory Sub

MR Memory Read

Die erwartete Funktion ist identisch mit dem normalen Taschenrechner


Bonusaufgabe: Visitenkarte

Erstelle eine Applikation, die die Daten des Benutzers abfragt und diese schön (ASCII Graphisch) in der Konsole ausgibt. Das Ziel ist, das ganze wie eine echte Visitenkarte aussehen zu lassen.

Anforderungen:

  • Stern als Zeichen für Kartenrand
  • Die Proportion der Karte entspricht dem Original (85mm x 55mm)
  • Design (in der Mitte zentriert) Siehe: das Bild

Bonusaufgabe: Das Spiel beginnt

Erstelle ein Spiel, welche der Spieler fordert heraus eine Zahl zwischen 0 und 9999 zu erraten.

Ablauf:

  • Der Computer denkt eine Zahl aus.
Random rand = new Random();
int value = rand.nextInt(10000);
  • Der Benutzer muss durch Konsole eine Zahl eingeben
  • Das Spiel antwortet
    • So viele Ziffern sind korrekt und auf dem richtigen Platz
    • So viele Ziffern sind vorhanden, aber stehen auf dem falschen Platz

Zum Beispiel:

( Der Computer hat die Zahl: 1234 )
Der Spieler wählt die 2354
Die Antwort lautet: 1 Ziffer ist korrekt, weitere 2 Ziffern sind vorhanden

Das Spiel endet, wenn:

  • der Spieler die richtige Zahl erraten hat
  • der Spieler hat nach 20 Versuchen immer noch kein Erfolg