• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

trust

sub rotinas

5 mensagens neste tópico

Ola pessoal. Tenho uma duvida para um trabalho que me esta a atrofiar.

Tenho de criar uma sub rotina, que leia os dados (tempo inicial e final, tempo total e custo) de n manutenções, a partir das seguintes sub rotinas:

int ler_horas (int h)
{
if ((h<0)||(h>23))
{
	printf("HORAS INVALIDAS!!! Por favor, insira as horas correctas!");
}
return h; 
} 
int ler_minutos (int min) 
{ 
if((min<0)||(min>59))
{
printf("MINUTOS INVALIDOS!!! Por favor, insira os minutos correctos!");
   }
return min; 
} 
int tempo_manutencao(int hi, int hf, int mini, int minf)
{
int ht, mint, tt;
ht=hf-hi;
ht=ht*60;
mint=minf-mini;
tt=ht+mint;
if (tt<0)
{
tt=-tt;      
}
return tt;
}

Sera que me podem ajudar??

abraço

:wallbash: ;):(

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Usa ciclos do...while para efectuares a leitura consecutiva de valores para as rotinas enquanto estas retornarem valores considerados inválidos. Na 1ª rotina, terás de verificar se o valor devolvido está entre 0 e 23, na 2ª se está entre 0 e 59 e na última verificar se é um valor negativo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Estou com imensas duvidas. É um trabalho muito importante. Sera que me podiam mostrar como ficaria estruturado? desculpem

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bem seguinda a ideia do baderous ficaria algo assim para a tua primeira subrutina...penso eu..

int ler_horas (int h)

{

      do

    {

          printf("HORAS INVALIDAS!!! Por favor, insira as horas correctas!"); 

          -fazes scanf do novo valor para h;

    }while((h<0)||(h>23))

return h;

}

agora é fazeres o mesmo po resto...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora