imagem
Menu.c
HOME
CONTATO
AGRADECIMENTOS
 Esfera

Implemente um programa que calcule o volume e área total de uma esfera de raio r.

r = raio

PI = 3,14

Área da Esfera = 4PIr^2

Volume da Esfera = 4PIr^3 / 3

esfera

Restrições

1. Você deve implementar uma função fora do main para calcular ambas operações.

2. Defina uma constante chamada PI nas definições de seu programa com o valor de p.

3. Utilize a função pow() da biblioteca math.h para calcular as funções exponenciais.

4. As funções devem ter o tipo de retorno void conforme exemplo do protótipo:
void calc_esfera(xxxx).

5. Como a função tem retorno do tipo void você não poderá utilizar o comando return para retornar valores para a função main, você deverá utilizar os conceitos de ponteiros para trabalhar com uma área de memória em comum, entre as funções calc_esfera() e o main.

6. Você não poderá utilizar nenhum comando de impressão de resultados (printf, puts e etc) dentro da própria função calc_esfera() pois você deverá imprimir os resultados obtidos na função calc_esfera() dentro do main.

7. Variáveis globais não serão aceitas.

Ajuda

Crie variãveis no main para armazenar os resultados que serão obtidos no cálculo e passe o endereço de memória dessas variáveis para a função calc_esfera().
Ex:float r, area, volume;

Chame a função calc_esfera() passando os endereços das variáveis área e volume que poderão ser impressas diretamente do main.

 Código

#include <stdio.h>
#include <math.h>
#define pi 3.14

void area(float *r, float *A) {
*A = (4 * pi) * (pow(*r, 2));
}

void volume(float *r, float *B) {
*B = ((4 * pi) * pow(*r, 3)) / 3;
}

/* com uma funcao apenas:
* void calcula (float *r, float *A, float *B {
* *A = (4 * pi) * (pow(*r, 2));
* *B = ((4 * pi) * pow(*r, 3)) / 3;
* }
* no main:
* calcula(&raio,&a,&b);
* printf("Area: %f\n Volume: %f",a,b);
*/

int main(void) {
setbuf(stdout, NULL);
float raio, a, b;
printf("** ESFERA **\n\n");
printf("Digite o valor do raio da circunferencia: ");
fflush(stdin);
scanf("%f", &raio);
printf("\n");
area(&raio, &a);
volume(&raio, &b);
printf("Area: %f\n", a);
printf("Volume: %f", b);

return 0;
}
Criado por João Paulo Aramuni - 2011