Schnittstelle für geometrische Figuren
Go
Easy
interfaces
Aufgabe «Schnittstelle für geometrische Figuren»
Erstellen Sie eine Schnittstelle Shape, die die Methode Area() float64 enthält. Implementieren Sie die Strukturen Circle (mit dem Feld Radius float64) und Rectangle (mit den Feldern Width, Height float64), die die Schnittstelle Shape erfüllen. Schreiben Sie eine Funktion PrintArea(s Shape), die die Fläche der Figur mit einer Genauigkeit von zwei Nachkommastellen ausgibt. Lesen Sie in main aus stdin eine Zeile ein, die den Figura-Typ ('circle' oder 'rectangle') und seine Parameter (Radius für Kreis, Breite und Höhe für Rechteck) enthält. Rufen Sie PrintArea für die entsprechende Figur auf.
Eingabeformat
Eine Zeile: zuerst das Wort 'circle' oder 'rectangle', dann Zahlen (für circle — Radius, für rectangle — Breite und Höhe). Alle Zahlen sind ganzzahlig oder Gleitkommazahlen.
Ausgabeformat
Eine Zahl — die Fläche der Figur, gerundet auf zwei Nachkommastellen.
Beispiele
Beispiel 1
EINGABE
circle 5
AUSGABE
78.54
Beispiel 2
EINGABE
7
ADD 1 handler1
ADD 1 handler2
FIRE 1 eventA
ADD 2 handler3
FIRE 1 eventB
REMOVE 1 handler1
FIRE 1 eventC
AUSGABE
Beispiel 3
EINGABE
rectangle 3 4
AUSGABE
12.00
Beispiel 4
EINGABE
5
ADD 5 procA
ADD 5 procB
FIRE 5 data1
REMOVE 5 procA
FIRE 5 data2
AUSGABE
Beispiel 5
EINGABE
circle 0
AUSGABE
0.00
main.go