fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4.  
  5. #define PI 3.14
  6.  
  7. void circunferenciaCirculo(double raio) { printf("Circunferência é %lf", raio * 2 * PI); }
  8. void areaCirculo(double raio) { printf("Área é %lf", pow(raio * PI, 2)); }
  9. void volumeEsfera(double raio) { printf("Volume é %lf", 4.0/3.0 * PI * pow(raio, 3)); }
  10.  
  11. int main() {
  12. system("color 3");
  13. void (*calculo[3])(double raio) = {circunferenciaCirculo, areaCirculo, volumeEsfera};
  14. int sentinela = 0;
  15. while (sentinela != 4) {
  16. system("cls");
  17. printf("Opcoes de calculo\n\n1-Circunferencia de circulo\n2-Area de circulo\n3-Volume de esfera\n4-Sair\n\nOpcao:");
  18. scanf("%d", &sentinela);
  19. if (sentinela < 1 || sentinela > 4) {
  20. printf("Opcao invalida!\n");
  21. system("PAUSE");
  22. continue;
  23. }
  24. if (sentinela == 4) break;
  25. system("cls");
  26. printf("Digite o raio:");
  27. double raio = 0.0;
  28. scanf("%lf", &raio);
  29. calculo[sentinela - 1](raio);
  30. }
  31. }
  32.  
  33. //https://pt.stackoverflow.com/q/312915/101
Success #stdin #stdout #stderr 0s 4372KB
stdin
0
1
10
2
20
3
30
4
stdout
Opcoes de calculo

1-Circunferencia de circulo
2-Area de circulo
3-Volume de esfera
4-Sair

Opcao:Opcao invalida!
Opcoes de calculo

1-Circunferencia de circulo
2-Area de circulo
3-Volume de esfera
4-Sair

Opcao:Digite o raio:Circunferência é 62.800000Opcoes de calculo

1-Circunferencia de circulo
2-Area de circulo
3-Volume de esfera
4-Sair

Opcao:Digite o raio:Área  é 3943.840000Opcoes de calculo

1-Circunferencia de circulo
2-Area de circulo
3-Volume de esfera
4-Sair

Opcao:Digite o raio:Volume é 113040.000000Opcoes de calculo

1-Circunferencia de circulo
2-Area de circulo
3-Volume de esfera
4-Sair

Opcao:
stderr
sh: 1: color: not found
sh: 1: cls: not found
sh: 1: PAUSE: not found
sh: 1: cls: not found
sh: 1: cls: not found
sh: 1: cls: not found
sh: 1: cls: not found
sh: 1: cls: not found
sh: 1: cls: not found
sh: 1: cls: not found