Interface para formas geométricas
Go
Medium
interfaces
Tarefa «Interface para formas geométricas»
Implemente a interface Shape, que contém o método Area() float64. Crie as estruturas Circle e Rectangle, que implementam essa interface. Para o círculo, a área é calculada como π * r^2; para o retângulo, como a * b. Em seguida, escreva a função PrintArea(s Shape), que exibe a área da forma com precisão de duas casas decimais. Dados de entrada: tipo da forma (1 — círculo, 2 — retângulo) e os parâmetros correspondentes (raio para o círculo, lados a e b para o retângulo). Exibir a área da forma.
Formato de Entrada
Primeira linha: um número inteiro t (1 ≤ t ≤ 100) — quantidade de formas. Para cada forma: primeira linha — um número inteiro type (1 ou 2). Se type=1, a próxima linha contém um número real — o raio. Se type=2, a próxima linha contém dois números reais — os lados a e b.
Formato de Saída
Para cada forma, exiba sua área com precisão de duas casas decimais, cada uma em uma nova linha.
Exemplos
Exemplo 1
ENTRADA
1
0
SAÍDA
1
Exemplo 2
ENTRADA
4
ADD Task A 1
ADD Task B 4
COMPLETE Task C
PENDING
SAÍDA
Task not found
Task B, Task A
main.go