Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- int v;
- int numMins, numMinsOut, numHoras, numHorasOut, numDias, numDiasOut, numMes, numMesOut, numAno, numAnoOut;
- int dif_mins, dif_horas, dif_dias, dif_mes, dif_ano, dia_mes;
- int numMinsIn;
- int numFracc;
- int TotalMins;
- float valPagar;
- int main()
- {
- // INPUTS //
- printf("\n\n ENTRADA:\n dia / mes / ano : ");
- scanf("%d %d %d", &numDias, &numMes, &numAno);
- printf("\n Hora / Minutos : ");
- scanf("%d %d", &numHoras, &numMinsIn);
- printf("\n\n SAIDA:\n dia / mes / ano : ");
- scanf("%d %d %d", &numDiasOut, &numMesOut, &numAnoOut);
- printf("\n Hora / Minutos : ");
- scanf("%d %d", &numHorasOut, &numMinsOut);
- ///
- // Calculo dos Minutos //
- if( numMinsOut < numMinsIn )
- dif_mins = numMinsIn - numMinsOut;
- if( numMinsOut > numMinsIn )
- dif_mins = numMinsOut - numMinsIn;
- if( numMinsOut == numMinsIn )
- numMins = 0;
- numMins = dif_mins;
- ///
- // Calculo das Horas //
- if( numHorasOut < numHoras )
- dif_horas = numHoras - numHorasOut;
- if( numHorasOut > numHoras )
- dif_horas = numHorasOut - numHoras;
- if( numHorasOut == numHoras )
- dif_horas = 0;
- numMins = numMins + dif_horas * 60 ;
- ///
- // Calculo dos Dias //
- if( numDiasOut < numDias )
- dif_dias = numDias - numDiasOut;
- if( numDiasOut > numDias )
- dif_dias = numDiasOut - numDias;
- if( numDiasOut == numDias )
- dif_dias = 0;
- numMins = numMins + dif_dias * 24 * 60 ;
- ///
- // Calculo dos Meses e Anos + Validações Dias //
- if( numDias > numDiasOut && numMes == numMesOut && numAno == numAnoOut )
- { printf("\n\n\t ERRO: Dados Invalidos \n\n");
- return 0;
- }
- if( numMesOut < numMes )
- dif_mes = numMes - numMesOut;
- if( numMesOut > numMes )
- dif_mes = numMesOut - numMes;
- if( numMesOut == numMes )
- dif_mes = 0;
- numMins = numMins + numAnoOut - numAno;
- if( numMes == 1 || numMes == 3 || numMes == 5 || numMes == 7 || numMes == 8 || numMes == 10 || numMes == 12 || numMesOut == 1 || numMesOut == 3 || numMesOut == 5 || numMesOut == 7 || numMesOut == 8 || numMesOut == 10 || numMesOut == 12 )
- {
- if( numDias < 1 || numDias > 31 || numDiasOut < 1 || numDiasOut > 31 )
- {
- printf("\n\n\t ERRO: Dados Invalidos \n\n");
- return 0;
- }
- else
- dia_mes = 31;
- }
- if( numMes == 2 || numMesOut == 2)
- {
- if( numAno % 4 != 0 || ( numAno % 100 == 0 && numAno % 400 != 0 ) )
- {
- if( numDias < 1 || numDias > 29 || numDiasOut < 1 || numDiasOut > 29 )
- {
- printf("\n\n\t ERRO: Dados Invalidos \n\n");
- return 0;
- }
- else
- dia_mes = 29;
- }
- else
- {
- if( numDias < 1 || numDias > 28 || numDiasOut < 1 || numDiasOut > 28 )
- { printf("\n\n\t ERRO: Dados Invalidos \n\n");
- return 0;
- }
- else
- dia_mes = 28;
- }
- }
- if( numMes == 4 || numMes == 6 || numMes == 9 || numMes == 11 || numMesOut == 4 || numMesOut == 6 || numMesOut == 9 || numMesOut == 11)
- {
- if( numDias < 1 || numDias > 30 || numDiasOut < 1 || numDiasOut > 30 )
- {
- printf("\n\n\t ERRO: Dados Invalidos \n\n");
- return 0;
- }
- else
- dia_mes = 30;
- }
- numMins = numMins + dif_mes * dia_mes * 24 * 60 ;
- numMins = numMins + dif_ano * 12 * dia_mes * 24 * 60 ;
- // Validaçao dos anos, meses, horas e minutos //
- if( numMes < 1 || numMes > 12 || numMesOut < 1 || numMesOut > 12 || numMes > numMesOut && numAno == numAnoOut )
- {
- printf("\n\n\t ERRO: Dados Invalidos \n\n");
- return 0;
- }
- if( numAno > numAnoOut || numAno < 2010 || numAnoOut < 2010 )
- {
- printf("\n\n\t ERRO: Dados Invalidos \n\n");
- return 0;
- }
- if( numHoras < 0 || numHoras > 23 || numHorasOut < 1 || numHorasOut > 23 || numHoras > numHorasOut && ( numDias == numDiasOut && numMes == numMesOut && numAno == numAnoOut ) )
- {
- printf("\n\n\t ERRO: Dados Invalidos \n\n");
- return 0;
- }
- if( numMinsIn < 0 || numMinsIn > 59 || numMinsOut < 0 || numMinsOut < 0 || numMinsIn > numMinsOut && ( numHoras == numHorasOut && numDias == numDiasOut && numMes == numMesOut && numAno == numAnoOut ) )
- {
- printf("\n\n\t ERRO: Dados Invalidos \n\n");
- return 0;
- }
- ///
- printf("\n\nVeiculo\n\t1 - Camelo\n\t2 - Burro\n\t3 - Automovel\n");
- printf("Tipo de veiculo: ");
- scanf("%d", &v);
- // calculo do valor
- if(v < 1 || v > 3)
- {
- printf("\n\n\tVeiculo invalido!\n\n");
- }
- else
- {
- // calculo do num de fraccoes
- numFracc = numMins / 15;
- if(numMins % 15 != 0)
- numFracc = numFracc +1;
- // calculo do valor a pagar
- switch(v)
- {
- case 1:
- switch(numFracc)
- {
- case 1:
- valPagar = 0;
- break;
- case 2:
- case 3:
- case 4:
- case 5:
- case 6:
- case 7:
- case 8:
- valPagar = (numFracc - 1) * 5;
- break;
- default:
- valPagar = 35 + (numFracc - 8) * 7.5;
- break;
- }
- break;
- case 2:
- switch(numFracc)
- {
- case 1:
- valPagar = 10;
- break;
- case 2:
- case 3:
- case 4:
- case 5:
- case 6:
- case 7:
- case 8:
- valPagar = 10 + (numFracc - 1) * 8;
- break;
- default:
- valPagar = 64 + (numFracc - 8) * 7.5;
- break;
- }
- break;
- case 3:
- switch(numFracc)
- {
- case 1:
- valPagar = 2;
- break;
- case 2:
- case 3:
- case 4:
- valPagar = 2 + (numFracc - 1) * 3;
- break;
- case 5:
- case 6:
- case 7:
- case 8:
- valPagar = 11 + (numFracc - 1) * 5;
- break;
- default:
- valPagar = 31 + (numFracc - 8) * 5;
- break;
- }
- break;
- }
- printf("\nValor a pagar: %.2f\n\n", valPagar);
- }
- /// calculo do valor a pagar
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement