Interfaz para figuras geométricas
Go
Easy
interfaces
Tarea «Interfaz para figuras geométricas»
Cree una interfaz Shape que contenga el método Area() float64. Implemente las estructuras Circle (con el campo Radius float64) y Rectangle (con los campos Width, Height float64) que satisfagan la interfaz Shape. Escriba una función PrintArea(s Shape) que imprima el área de la figura con una precisión de hasta dos decimales. En main, lea desde stdin una línea que contenga el tipo de figura ('circle' o 'rectangle') y sus parámetros (radio para el círculo, ancho y alto para el rectángulo). Llame a PrintArea para la figura correspondiente.
Formato de entrada
Una línea: primero la palabra 'circle' o 'rectangle', luego los números (para circle — el radio, para rectangle — el ancho y el alto). Todos los números son enteros o de punto flotante.
Formato de salida
Un número — el área de la figura, redondeada a dos decimales.
Ejemplos
Ejemplo 1
ENTRADA
circle 5
SALIDA
78.54
Ejemplo 2
ENTRADA
7
ADD 1 handler1
ADD 1 handler2
FIRE 1 eventA
ADD 2 handler3
FIRE 1 eventB
REMOVE 1 handler1
FIRE 1 eventC
SALIDA
Ejemplo 3
ENTRADA
rectangle 3 4
SALIDA
12.00
Ejemplo 4
ENTRADA
5
ADD 5 procA
ADD 5 procB
FIRE 5 data1
REMOVE 5 procA
FIRE 5 data2
SALIDA
Ejemplo 5
ENTRADA
circle 0
SALIDA
0.00
main.go