Você está na página 1de 4

#include <stdio.

h>
#include <stdlib.h>
#include<locale.h>

float valormes[30], total=0, somaValorPago, somaValorCorreto, diferencaDosValores;


short indice, opcao, dias, mes;

int registrarMovimento() {
int veiculo, dia, codigo, opcao, resto, hora, minuto, segundo,
hora_entrada_segundo, minuto_entrada_segundo, hora_saida_segundo,
minuto_saida_segundo, total_segundo_entrada, total_segundo_saida hora_entrada,
hora_saida, minuto_entrada, minuto_saida, segundo_entrada, segundo_saida,
tempo_transcorrido;
float valorveiculo, difvalor, valorpago, valorcorreto,
valorveiculo_primeirahora, valorveiculo_horanormal, valorveiculo_horatotal;

for (dia=0; dia<30; dia++){


printf("____________________________________________________________");
printf("\nDia %d\n\n", dia+1);
printf ("Digite o codigo do veiculo (Digite 0 ou menos para avancar o
dia): ");
scanf ("%d", &codigo);

while(codigo>0){
printf("Digite o tipo de veiculo: MOTO(1), CARRO PEQUENO(2),
CARRO GRANDE(3): ");
scanf("%d", &veiculo);

if (veiculo!=1 & veiculo!=2 & veiculo!=3){


printf("Dado invalido!\n\n");
} else{
printf("Digite o valor pago do carro codigo %d: R$ ",
codigo);
scanf("%f", &valorpago);
if (valorpago<=0){
printf("Dado invalido!\n\n");
} else{
printf("Digite a hora de entrada do veiculo: ");
scanf("%d", &hora_entrada);
printf("Digite o minuto de entrada do veiculo: ");
scanf("%d", &minuto_entrada);
printf("Digite o segundo de entrada do veiculo: ");
scanf("%d", &segundo_entrada);

printf("Digite a hora de saida do veiculo: ");


scanf("%d", &hora_saida);
printf("Digite o minuto de saida do veiculo: ");
scanf("%d", &minuto_saida);
printf("Digite o segundo de saida do veiculo: ");
scanf("%d", &segundo_saida);

if (segundo_entrada<0){
printf("Dado invalido!\n\n");
}else{
if(hora_entrada==0){
if ((minuto_entrada==0 &&
segundo_entrada>=0) || (minuto_entrada<=30 && segundo_entrada==0)){
valorcorreto = 0;
}else if (veiculo==1){
valorveiculo_primeirahora=4;
valorveiculo_horanormal=2.50;
}else if (veiculo==2){
valorveiculo_primeirahora=5.5;
valorveiculo_horanormal=4.0;
}else{
valorveiculo_primeirahora=7.5;
valorveiculo_horanormal=5.50;
}
}

}
}
}
}

printf ("\nDigite o codigo do veiculo (digite 0 para avancar o dia):


");
scanf("%d", &codigo);

hora_entrada = hora_entrada*3600;
minuto_entrada = minuto_entrada*60;
total_segundo_entrada =
hora_entrada+minuto_entrada+segundo_entrada;

hora_saida = hora_saida*3600;
minuto_saida = minuto_saida*60;
total_segundo_saida = hora_saida+minuto_saida+segundo_saida;

tempo_transcorrido = total_segundo_saida - total_segundos_entrada;

resto = tempo_transcorrido%3600;
hora = resto%3600;
minuto = resto/60;
segundo = resto%60;

valorcorreto = (float)valorveiculo*horaestacionado;

printf("\nCarro codigo %d: Valor pago R$ %.2f x Valor correto R$ %.2f.\


n", codigo, valorpago, valorcorreto);
printf("Hora de entrada do veiculo: %d",
hora_entrada,":",minuto_entrada,":",segundo_entrada);
printf("Hora de saida do veiculo: %d",
hora_saida,":",minuto_saida,":",segundo_saida);
printf("Tempo estacionado: %d", hora,":",minuto,":",segundo);

if (valorcorreto>valorpago){
difvalor = valorcorreto-valorpago;
printf("Valor cobrado a menos! Divida do cliente: R$ %.2f.\n\n",
difvalor);
}else{
if (valorcorreto<valorpago){
difvalor = valorpago-valorcorreto;
printf("Valor cobrado a mais! Credito do cliente: R$ %.2f.\
n\n", difvalor);
} else{
printf ("Valor pago corretamente!\n\n");
}

}
somaValorPago = somaValorPago + valorpago;
somaValorCorreto = somaValorCorreto + valorcorreto;
diferencaDosValores = somaValorPago - somaValorCorreto;
printf("\nResumo do dia %d:", dia+1);
printf("\nValor total arrecadado: %.2f.\n", somaValorPago);
printf("Valor total que deveria ser arrecadado: %.2f.\n",
somaValorCorreto);
printf("Diferença de valor total arrecadado e valor que deveria ser
arrecadado: %.2f.\n", diferencaDosValores);
somaValorPago=0;
}
valormes[dia] = valorpago;

return 0;
}

void gerarRelatorio() {
short dia=0;
printf("\n______________________________\n");
printf( " Relatório de valor mês \n" );
printf( "______________________________\n");
printf( "Dia valor \n");
printf( "______________________________\n");
while (dia <30) {
printf( " %2d %*.*f \n", dia+1, 18, 2, valormes[dia]);
total = total + valormes[dia];
dia++;
}
printf( "______________________________\n");
printf( "Total %*.*f \n", 18, 2, total);
printf( "______________________________\n\n");
total = 0;
return;
}

int main() {
setlocale(LC_ALL,"Portuguese_Brasil");
int resposta = 0;

do {
printf("1 - Registrar movimento\n2 - Gerar relatório\n3 - Encerrar\n");
scanf("%d", &resposta);

if(resposta == 1) {
registrarMovimento();
} else if(resposta == 2) {
gerarRelatorio();
} else if(resposta == 3) {
break;
} else {
printf("Número de 1 a 3");
}
} while (resposta != 0);

return 1;
}

Você também pode gostar