M.Axel Posted April 18, 2015 Report Share Posted April 18, 2015 Escreva um programa que leia dois valores positivos ( como float), a altura e o raio de um cilindro circular, e imprima o volume do cilindro. O volume de um cilindro circular é calculado por meio da seguinte fórmula: volume = pi * raio2* altura. Considere pi = 3.141592. O resultado deve ser impresso no padrão float, com 6 casas decimais. Caso o usuário informe umvalor negativo, imprimaa mensagem “Erro\n”. Exemplo: 3.5 4.6 entrada 232.666294 saída Abaixo o código, que compila, mas com erros: #include <stdio.h> #include <stdlib.h> /*#define pi 3.141592// O define é usado para criar definições que usaremos com frequência em nossos programas*/ int main(void) { float raio, altura, PI = 3.141592; // esta imprimindo o resultado: -1#QNAN0 double volume = PI * raio *2 * altura; int num; printf("\n\tDigite o raio do cilindro: "); scanf("%f",&raio); printf("\n\tDigite a altura do cilindro: "); scanf("%f",&altura); if ( num < 0) { printf("\nErro" , volume); scanf("%2f", &volume); // esta causando erro: excesso de argumentos } else if ( num != 0 ) { } printf("\n\t O volume do cilindro é = %0.6f\n\n" ); /*printf("\nErro", volume); scanf("%f", &volume);*/ //Analisar depois system("pause"); return 0; } Quote Link to comment Share on other sites More sharing options...
0 ArteEN Posted April 18, 2015 Report Share Posted April 18, 2015 Seu código esta bem bagunçado Este calculo pode ser resolvido de forma bem simples No seu código: Linha 5: #define pi 3.141592 Esta comentado, não terá efeito no programa, eu tiraria esta linha do comentário para ser usada Linha 9: Se você usar a constante simbólica não irá precisar declarar pi Linha 11: Neste momento no programa você esta usando lixo de memoria para raio e altura, é um calculo desnecessário neste momento. Linha 13: não é necessário declarar inteiros para o calculo Linha 21 a 32: São linhas sem sentido para o programa (usar um inteiro para validar o volume) Demais linhas: A apresentação do resultado tambem esta incompleta Minhas sugestões: Crie a constante simbólica PI Declare float raio, altura Declare double volume Peça a entrada do raio e altura Faça o calcule do volume Exiba o resultado Quote Link to comment Share on other sites More sharing options...
0 M.Axel Posted April 18, 2015 Author Report Share Posted April 18, 2015 Obrigado pelo retorno; poderia traduzir o que disse em código C? Utilizei o pseudocódigo; o calculo de volume que está pegando. Abraços Quote Link to comment Share on other sites More sharing options...
0 ArteEN Posted April 18, 2015 Report Share Posted April 18, 2015 #define PI 3.14 float raio, altura; double volume; scanf("%f", &raio); scanf("%f", &altura); volume = PI * raio * 2 * altura printf("%f", volume); Demais estruturas e validações são por sua conta Quote Link to comment Share on other sites More sharing options...
0 M.Axel Posted April 18, 2015 Author Report Share Posted April 18, 2015 AInda está dando erro; honestamente, apesar de ser simples, minha lógica não está promovendo o erro deste programa. Mas obrigado por ajudar. Quote Link to comment Share on other sites More sharing options...
0 ArteEN Posted April 18, 2015 Report Share Posted April 18, 2015 coloque o codigo como esta agora Quote Link to comment Share on other sites More sharing options...
Question
M.Axel
#include <stdlib.h>
/*#define pi 3.141592// O define é usado para criar definições que usaremos com frequência em nossos programas*/
int main(void) {
float raio, altura, PI = 3.141592; // esta imprimindo o resultado: -1#QNAN0
double volume = PI * raio *2 * altura;
int num;
printf("\n\tDigite o raio do cilindro: ");
scanf("%f",&raio);
printf("\n\tDigite a altura do cilindro: ");
scanf("%f",&altura);
if ( num < 0) {
printf("\nErro" , volume);
scanf("%2f", &volume); // esta causando erro: excesso de argumentos
}
else
if ( num != 0 )
{
}
printf("\n\t O volume do cilindro é = %0.6f\n\n" );
/*printf("\nErro", volume);
scanf("%f", &volume);*/ //Analisar depois
system("pause");
return 0;
}
Link to comment
Share on other sites
5 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.