Schnittstelle für geometrische Figuren

Go Medium interfaces

Aufgabe «Schnittstelle für geometrische Figuren»

Implementieren Sie das Interface Shape, das die Methode Area() float64 enthält. Erstellen Sie die Strukturen Circle und Rectangle, die dieses Interface implementieren. Für den Kreis wird die Fläche als π * r^2 berechnet, für das Rechteck als a * b. Schreiben Sie anschließend eine Funktion PrintArea(s Shape), die die Fläche der Figur auf zwei Nachkommastellen genau ausgibt. Eingabedaten: Figurentyp (1 — Kreis, 2 — Rechteck) und die entsprechenden Parameter (Radius für den Kreis, Seiten a und b für das Rechteck). Geben Sie die Fläche der Figur aus.

Eingabeformat

Erste Zeile: eine ganze Zahl t (1 ≤ t ≤ 100) — Anzahl der Figuren. Für jede Figur: erste Zeile — eine ganze Zahl type (1 oder 2). Wenn type=1, enthält die nächste Zeile eine reelle Zahl — den Radius. Wenn type=2, enthält die nächste Zeile zwei reelle Zahlen — die Seiten a und b.

Ausgabeformat

Für jede Figur geben Sie ihre Fläche auf zwei Nachkommastellen genau aus, jede in einer neuen Zeile.

Beispiele

Beispiel 1

EINGABE
1 0
AUSGABE
1

Beispiel 2

EINGABE
4 ADD Task A 1 ADD Task B 4 COMPLETE Task C PENDING
AUSGABE
Task not found Task B, Task A
main.go