Julio Cesar Neuhaus Postado Novembro 2, 2011 Denunciar Share Postado Novembro 2, 2011 Ola.. Estou fazendo um programa como exercicio de faculdade..o programa é simples, mas quando mano executar a variavel 'velocidade', cujo valor foi digitado pelo usuario aparece com um valor diferente.pergunto se errei alguma coisa no codigo, ou porque esta acontecendo isso. usei o DevC para fazer!!nessa situação independente do valor que digito para velocidade, ela sempre imprime 2293572#include <stdio.h>#include <math.h>#include <stdlib.h>main(){ int velocidade, tempo_gasto, distancia, consumo; float combustivel_gasto; consumo=12; printf("Digite a velocidade média da viagem:\n"); scanf("%i", &velocidade); printf("Digite o tempo gasto na viagem:\n"); scanf("%i", &tempo_gasto); distancia=velocidade*tempo_gasto; combustivel_gasto=distancia/consumo; printf("%i %i %i %.f", tempo_gasto, distancia, &velocidade, combustivel_gasto); system("PAUSE"); return(0); }Grato Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mJi Postado Novembro 2, 2011 Denunciar Share Postado Novembro 2, 2011 scanf("%i", &velocidade); Ao invés de ler valores inteiros com %i, leia com %d. printf("%i %i %i %.f", tempo_gasto, distancia, &velocidade, combustivel_gasto); Além disto, quando for exibir o valor de uma variável no printf, não coloque o '&' ('E' comercial). Este é o operador de endereço na memória, e é o que o programa estava exibindo. E utilize o '%d' para variáveis inteiras também no printf... No seu cálculo de combustível gasto, ocorre uma divisão de dois números inteiros. Quando isto acontece, o resultado sempre será um inteiro. Como este cálculo pode dar um float, você deve usar um 'cast' para forçar um float. E a função 'main' está retornando um inteiro (0), mas não está declarada como 'int'. Corrigindo... #include <stdio.h> #include <math.h> #include <stdlib.h> int main(){ int velocidade, tempo_gasto, distancia, consumo=12; float combustivel_gasto; printf("Digite a velocidade média da viagem:\n"); scanf("%d", &velocidade); printf("Digite o tempo gasto na viagem:\n"); scanf("%d", &tempo_gasto); distancia=velocidade*tempo_gasto; combustivel_gasto=(float)distancia/consumo; printf("%d %d %d %.2f\n", tempo_gasto, distancia, velocidade, combustivel_gasto); system("PAUSE"); return(0); } Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Julio Cesar Neuhaus
Ola..
Estou fazendo um programa como exercicio de faculdade..
o programa é simples, mas quando mano executar a variavel 'velocidade', cujo valor foi digitado pelo usuario aparece com um valor diferente.
pergunto se errei alguma coisa no codigo, ou porque esta acontecendo isso.
usei o DevC para fazer!!
nessa situação independente do valor que digito para velocidade, ela sempre imprime 2293572
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
main()
{
int velocidade, tempo_gasto, distancia, consumo;
float combustivel_gasto;
consumo=12;
printf("Digite a velocidade média da viagem:\n");
scanf("%i", &velocidade);
printf("Digite o tempo gasto na viagem:\n");
scanf("%i", &tempo_gasto);
distancia=velocidade*tempo_gasto;
combustivel_gasto=distancia/consumo;
printf("%i %i %i %.f", tempo_gasto, distancia, &velocidade, combustivel_gasto);
system("PAUSE");
return(0);
}
Grato
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.