Julio Cesar Neuhaus Posted November 2, 2011 Report Share Posted November 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 Quote Link to comment Share on other sites More sharing options...
0 mJi Posted November 2, 2011 Report Share Posted November 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); } Quote Link to comment Share on other sites More sharing options...
Question
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 to comment
Share on other sites
1 answer 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.