Ir ao conteúdo
  • Cadastre-se

C Não consigo resolver esta questão de Estrutura de Dados!


JonathanMB

Posts recomendados

E ai! Não estou conseguindo fazer uma atividade de Estrutura de Dados!

Vou mandar a questão aqui e peço humildemente que me ajudem com ela!

 

Tendo em conta a seguinte estrutura, bem como o respectivo tipo de dados, que permite representar o tempo no formato de horas (hh), minutos (mm) e segundos (ss.sss). Um exemplo de tempo neste formato é, por exemplo, 12:34:56.123.

 

 

struct TIME

{

     int hh;

     int mm;

    double seconds;

};

 

 

a) Escreva a função convertTime que converta o tempo que lhe é passado em segundos no formato ss.sss para o tempo no formato hh:mm.ss.sss. O tempo neste formato deverá ser devolvido pela função como uma struct do tipo TIME. Escreva depois um pequeno programa para testar a conversão. O protótipo da função anterior é o seguinte:

 

TIME convertTime(double secs);

 

b) Escreva a função addTime que toma dois tempos do tipo TIME como argumentos, e que depois devolve a soma dos tempos numa estrutura do tipo TIME. Escreva depois um pequeno programa para testar a conversão. O protótipo da função anterior é o seguinte:

TIME addTime (TIME a, TIME b);

 

Quem puder estar me ajudando com este quesito desde já agradeço!

 

Link para o comentário
Compartilhar em outros sites

Vou botar um exemplo aqui e espero que ajude:

Ex. 12.456 s

divida 12.456 por 60 e ache o quociente inteiro e o resto  (quociente 207 e resto 36)  - este resto será o segundos. (TIME.segundos)

divida 207 por 60 e novamente ache o quociente inteiro e o resto  (quociente 3 resto 27) - este resto serão os minutos (TIME.minutos); 

as horas serão o quociente 3 (TIME.horas);

3h:27m:36s.

 

Use "fmod" para determinar o resto de números com ponto flutuante.

Para a função addTime você pode converter de TIME em segundos, somar, e depois converter novamente de segundos para TIME.

 

Veja se consegue implementar o código.

 

Link para o comentário
Compartilhar em outros sites

22 horas atrás, Flávio Pedroza disse:

Vou botar um exemplo aqui e espero que ajude:

Ex. 12.456 s

divida 12.456 por 60 e ache o quociente inteiro e o resto  (quociente 207 e resto 36)  - este resto será o segundos. (TIME.segundos)

divida 207 por 60 e novamente ache o quociente inteiro e o resto  (quociente 3 resto 27) - este resto serão os minutos (TIME.minutos); 

as horas serão o quociente 3 (TIME.horas);

3h:27m:36s.

 

Use "fmod" para determinar o resto de números com ponto flutuante.

Para a função addTime você pode converter de TIME em segundos, somar, e depois converter novamente de segundos para TIME.

 

Veja se consegue implementar o código.

 

Tentarei! Muito obrigado pela luz!!

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!