#include #include #include typedef struct { char placa[10]; char endereco[20]; char nome[20]; char cpf[20]; }Cliente; typedef struct { float hora_entrada; float hora_saida; float data_entrada; float data_saida; }Controle; void listar_carros(Cliente* s,Controle* c,int tam_vetor) { int listado; int i; FILE* arq; arq = fopen("Clientes.txt","r"); for(i=0;i 3) { if(taxa == 0) { taxa_final1 = (soma1 - 3)*9; fprintf(arq,"Valor a ser pago: %f\n",taxa_final1); } else if(taxa == 1) { taxa_final2 = taxa_final1 + taxa_final1; fprintf(arq,"Valor a ser pago: %f\n",taxa_final2); } } fprintf(arq,"\n"); } fclose(arq); } void saida_carro(Cliente* s,Controle* c,int tam_vetor) { int i,exist,soma1,soma2,taxa; int valor = 3; float taxa_final,taxa_final1,taxa_final2; char *plaquinha; plaquinha = (char*)malloc(20*sizeof(char)); printf("Digite a placa do carro: \n"); fflush(stdin); gets(plaquinha); fflush(stdin); for(i=0;i 3) { if(taxa == 0) { taxa_final1 = (soma1 - 3)*9; printf("Valor a ser pago: %f\n",taxa_final1); } else if(taxa == 1) { taxa_final2 = taxa_final1 + taxa_final1; printf("Valor a ser pago: %f\n",taxa_final2); } } return; }while(1); } } if(strcmp(plaquinha,s[i].placa) != 0) { printf("Nenhum carro cadastrado com essa placa!\n\n"); } } void proc_carro(Cliente* s,Controle* c,int tam_vetor) { int i,exist; char *plaquinha; plaquinha = (char*)malloc(20*sizeof(char)); printf("Digite a placa do carro: \n"); fflush(stdin); gets(plaquinha); fflush(stdin); FILE* arq; char str[20]; arq = fopen("Clientes.txt","r"); for(i=0;iplaca) == 0) { ++exist; do { printf("\t\tCarro encontrado\n\n"); printf("Numero da placa: %s\n",s[i].placa); printf("Endereco: %s\n",s[i].endereco); printf("Nome: %s\n",s[i].nome); printf("CPF: %s\n",s[i].cpf); printf("Hora de entrada: %f \n",c[i].hora_entrada); printf("Data de entrada: %f \n",c[i].data_entrada); printf("Hora de saida: %f \n",c[i].hora_saida); printf("Data de saida: %f \n",c[i].data_saida); printf("\nTem certeza que deseja excluir esse carro? "); printf("Digite 1 para sim e 0 para nao: \n"); scanf("%d",&exc); if(exc == 1) { strcpy(NULL,s[i].placa); strcpy(NULL,s[i].endereco); strcpy(NULL,s[i].nome); strcpy(NULL,s[i].cpf); c[i].hora_entrada = 0; c[i].data_entrada = 0; c[i].hora_saida = 0; c[i].data_saida = 0; lock = 0; printf("\tCarro excluido!!\n"); } else if(exc == 0) { break; } else { printf("Opcao invalida!\n"); } }while(lock == 1); } else if(strcmp(plaquinha,s[i].placa) != 0) { printf("Carro nao encontrado!\n");return; } } } int main() { int modo; //Entrada de carros Cliente cli[10];//vetor para clientes Cliente* f;//ponteiro para clientes f = cli; //Entrada de controle de carros Controle con[10]; Controle* c; c = con; do { printf("\t\tSistema de estacionamento\n\n"); printf("\tValor por dia: 5 reais\n"); printf("\tValor de 3 horas: 3 reais\n"); printf("\tValor adicional por hora(passando de 3 horas): 3 reais\n\n"); printf("//1 - Cadastrar carros\n"); printf("//2 - Saida de carros\n"); printf("//3 - Listar carros cadastrados\n"); printf("//4 - Procurar carros cadastrados\n"); printf("//5 - Excluir carros cadastrados\n"); printf("//0 - Sair\n"); printf("Digite a opcao desejada: "); scanf("%d",&modo); switch(modo) { case 0: { return 0; } case 1: { entrada_carro(f,c,10); arquivar(f,c,10); break; } case 2: { saida_carro(f,c,10); arquivar(f,c,10); break; } case 3: { listar_carros(f,c,10); break; } case 4: { proc_carro(f,c,10); break; } case 5: { excluir_carro(f,c,10); arquivar(f,c,10); break; } } }while(1);