Ir ao conteúdo
  • Cadastre-se

C Tempo de viagem (valores em horas e minutos)


Lord Kaminski
Ir à solução Resolvido por devair1010,

Posts recomendados

Escreva um programa em C que solicite ao a distância de uma viagem a ser percorrida (em Km) e a velocidade média de locomoção (Km/h). Posteriormente calcular o tempo estimado de viagem em horas e minutos, conforme os exemplos abaixo.

 

ENTRADA

Distância em Km da viagem

Velocidade média de locomoção (Em Km/h)
SAÍDA

x horas

y minutos

 

EXEMPLO
367Km
78Km/h
Produz a saída:
4 horas
42 minutos

 

Estou programando dessa forma:

 

#include <stdio.h>
#include <math.h>

int main(){
    
    float distancia,vm,tempo;
    
    printf("Digite a distancia: ");
    scanf("%f",&distancia);
    printf("Digite a velocidade media: ");
    scanf("%f",&vm);
    tempo=distancia/vm;
    printf("%.0f horas\n",tempo);
    printf("%f minutos\n",tempo-(int)tempo);
    return 0;
}

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

  • Solução

@Lord comander      O Cálculo Dos Minutos não está funcionando certo no seu código ,  pois o tempo menos o inteiro de tempo é igual ao resto da divisão do tempo pela velocidade media , em décimos de Unidade , e precisa ser multiplicado por sessenta , pois cada hora tem 60 minutos ,  então para esse caso de teste que você postou , o código poderia ser assim  :

#include <stdio.h>
#include <math.h>
int main(){
    float d=367,vm=78;
    printf("Horas    %2d\n",(int)(d/vm));
    printf("Minutoss %.f\n",(d/vm - (int)(d/vm))*60);
    return 32768;
}

mas usando a função scanf , dá hum erro Estranho , e o cálculo da divisão sai errado , não descobri o motivo , não . . . . !

  • Curtir 1
  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

@devair1010 Era isso mesmo, eu estava com problema de encontrar o valor dos minutos. Muito obrigado!!!

Meu código ficou assim:

#include <stdio.h>
#include <math.h>

int main(){

    float dist,vm;

    printf("Digite a distancia: ");
    scanf("%f",&dist);
    printf("Digite a velocidade media: ");
    scanf("%f",&vm);

    printf("%d horas\n",(int)(dist/vm));
    printf("%f minutos\n",(dist/vm - (int)(dist/vm))*60);
    return 0;
}
Para verificar o erro do scanf o programa Code Blocks talvez o ajude.

Eu não entendi o porquê foi colocado no seu return 32768 como valor.

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!