Interface pour les formes géométriques
Go
Easy
interfaces
Tâche «Interface pour les formes géométriques»
Créez l'interface Shape, qui contient la méthode Area() float64. Implémentez les structures Circle (avec le champ Radius float64) et Rectangle (avec les champs Width, Height float64), qui satisfont l'interface Shape. Écrivez une fonction PrintArea(s Shape), qui affiche la surface de la forme avec une précision de deux décimales. Dans main, lisez depuis stdin une chaîne contenant le type de forme ('circle' ou 'rectangle') et ses paramètres (rayon pour le cercle, largeur et hauteur pour le rectangle). Appelez PrintArea pour la forme correspondante.
Format d\ entrée
Une seule ligne : d'abord le mot 'circle' ou 'rectangle', puis les nombres (pour circle — le rayon, pour rectangle — la largeur et la hauteur). Tous les nombres sont des entiers ou des nombres à virgule flottante.
Format de sortie
Un seul nombre — la surface de la forme, arrondie à deux décimales.
Exemples
Exemple 1
ENTRÉE
circle 5
SORTIE
78.54
Exemple 2
ENTRÉE
7
ADD 1 handler1
ADD 1 handler2
FIRE 1 eventA
ADD 2 handler3
FIRE 1 eventB
REMOVE 1 handler1
FIRE 1 eventC
SORTIE
Exemple 3
ENTRÉE
rectangle 3 4
SORTIE
12.00
Exemple 4
ENTRÉE
5
ADD 5 procA
ADD 5 procB
FIRE 5 data1
REMOVE 5 procA
FIRE 5 data2
SORTIE
Exemple 5
ENTRÉE
circle 0
SORTIE
0.00
main.go