All pastes #2055991 Raw Edit

Untitled

public text v1 · immutable
#2055991 ·published 2011-05-10 02:10 UTC
rendered paste body
//***************************************************************//
//                      Celso Garcia da Silva - RA 435457        //  
//                          Algoritmo e Programação I            //
//                             Atividade AA3_2                   //
//***************************************************************//
/* Este sistema verifica a duração de um jogo, o usuario fornece as horas iniciais e finais
   retornando 99h99min caso o jogo dure mais que 2 horas ou as datas sejam incorretas, caso 
   contrário o sistema fornecerá o tempo da duração do jogo no fomrato xhymin */
# include <stdio.h>
# include <stdlib.h>

// protótipo da função para converter tempo em minutos
int obter_total_minutos(int x, int y, int r, int v); 

int main(int args, char * arg[])
{
    int hora1, min1, hora2, min2;
    int horaSaida, minSaida;
    int totalMinutos;
    
    printf("Digite a hora inicial: ");
    scanf("%d", &hora1);
    printf("Digite a minuto inicial: ");
    scanf("%d", &min1);
    
    printf("Digite a hora final: ");
    scanf("%d", &hora2);
    printf("Digite a minuto final: ");
    scanf("%d", &min2);
    printf("\n\n");
    
    // chama a função para converter o tempo em minutos
    totalMinutos = obter_total_minutos(hora1, min1, hora2, min2);
        
    // verificar se datas estão corretas e se tempo do jogo menor é que 2 horas    
    if ((hora1 < 0) || (hora1 > 23) || (hora2 < 0) || (hora2 > 23) || (min1 < 0)
       || (min1 > 59) || (min2 < 0) || (min2 > 59) || (totalMinutos > 120))
       {
          horaSaida = 99;
          minSaida = 99;
          printf("%dh%dmin\n", horaSaida, minSaida);
          printf("\n\n");
       }
       else
          {
             // converte minutos em hora e minutos                  
             horaSaida = totalMinutos / 60;
             minSaida =  totalMinutos % 60;                  
             printf("%02dh%02dmin\n", horaSaida, minSaida);
             printf("\n\n");
          }
     system("PAUSE");
     return 0;                
          
}

int obter_total_minutos(int x,  int y, int v, int r)
{
        int converteData1Minutos, converteData2Minutos;
        int totalMinutosJogado;
         
        if (v >= x)
    {

         //  converte tempo em minutos quando data final maior que data inicial        
         converteData1Minutos = x * 60;
         converteData1Minutos = converteData1Minutos + y;
         converteData2Minutos = v * 60;
         converteData2Minutos = converteData2Minutos + r;
         totalMinutosJogado = converteData2Minutos - converteData1Minutos;
                       
    } 
    else
    {
        // se data final menor que data inicial sistema assume que jogo virou o dia
        converteData1Minutos = x * 60;
        converteData1Minutos = converteData1Minutos + y;
        converteData2Minutos = v * 60;
        converteData2Minutos = converteData2Minutos + r;
        totalMinutosJogado = (1440 - converteData1Minutos) + converteData2Minutos;
    }
    
    return totalMinutosJogado; 
}