Enviado em 10/12/2016 - 15:41h
Boa tarde,#include <stdio.h>
#include <time.h>
struct Tveiculo{
char placa[7];
char data_sistema_entra[100];
char hora_sistema_entra[100];
char data_sistema_sai[100];
char hora_sistema_sai[100];} carro[10];
// FUNCAO PARA FORMATACAO DA HORA
char *format(int number);
// FUNCAO PARA RETORNAR DATA
char *data(void);
// FUNCAO PARA RETORNAR HORA
char *hora(void);
int main(){
int opcao;
int i=0;
int j;
int placadig[7];
while (opcao != 4){
printf("Digite a opção desejada\n");
printf("1. ENTRADA DE VEÍCULOS\n");
printf("2. SAÍDA DE VEÍCULOS\n");
printf("3. GERAR HISTÓRICO\n");
printf("4. FECHAR ESTACIONEMENTO\n");
scanf("%d", &opcao);
switch(opcao){
case 1: //ENTRADA DE VEÍCULOS
printf("Digite a placa do veículo\n");
scanf("%s", carro[i].placa);
sprintf(carro[i].data_sistema_entra,"%s",data());
sprintf(carro[i].hora_sistema_entra,"%s",hora());
FILE *file_entra;
file_entra = fopen("C:\\Users\\Yan Martins\\Desktop\\historico\\entrada.txt", "a");
fprintf(file_entra,"PLACA DO VEÍCULO: %s\n",carro[i].placa);
fprintf(file_entra,"DIA DE ENTRADA: %s\n",carro[i].data_sistema_entra);
fprintf(file_entra,"HORA DE ENTRADA: %s\n\n\n",carro[i].hora_sistema_entra);
fclose(file_entra);
i++;
break;
case 2: //SAÍDA DE VEÍCULOS
printf("Digite a placa do veículo\n");
scanf("%s", placadig);
for(j=0; j<30; j++){
if(carro[j].placa == placadig[7]){
sprintf(carro[j].data_sistema_sai,"%s",data());
sprintf(carro[j].hora_sistema_sai,"%s",hora());
FILE *file_sai;
file_sai = fopen("C:\\Users\\Yan Martins\\Desktop\\historico\\saida.txt", "a");
fprintf(file_sai,"PLACA DO VEÍCULO: %s\n",carro[j].placa);
fprintf(file_sai,"DIA DE SAÍDA: %s\n",carro[j].data_sistema_sai);
fprintf(file_sai,"HORA DE SAÍDA: %s\n\n\n",carro[j].hora_sistema_sai);
fclose(file_sai);
}
else{
printf("\nPLACA NÃO EXISTE\n");
}
}
break;
case 3: //GERA HISTÓRICO
printf("PLACA DO VEÍCULO: %s\n",carro[0].placa);
printf("DIA DE SAÍDA: %s\n",carro[0].data_sistema_sai);
printf("HORA DE SAÍDA: %s\n\n\n",carro[0].hora_sistema_sai);
printf("PLACA DO VEÍCULO: %s\n",carro[1].placa);
printf("DIA DE SAÍDA: %s\n",carro[1].data_sistema_sai);
printf("HORA DE SAÍDA: %s\n\n\n",carro[1].hora_sistema_sai);
printf("PLACA DO VEÍCULO: %s\n",carro[2].placa);
printf("DIA DE SAÍDA: %s\n",carro[2].data_sistema_sai);
printf("HORA DE SAÍDA: %s\n\n\n",carro[2].hora_sistema_sai);
break;
case 4: //FIM DO PROGRAMA
printf("ESTACIONAMENTO FECHADO\n");
break;
}
}
}
// FUNCAO PARA FORMATACAO DA HORA
char *format(int number){
char *retorno,
ret[100];
int i;
if (number < 10){
sprintf(ret,"0%d",number);
retorno = ret;
return retorno;
}
else{
sprintf(ret,"%d",number);
retorno = ret;
return retorno;
}
}
// FUNCAO PARA RETORNAR DATA
char *data(void){
int dia,mes,ano;
char var1[100],
var2[100],
var3[100],
var4[100],
*dataPtr;
struct tm *local;
time_t t;
t = time(NULL);
local = localtime(&t);
dia = local -> tm_mday;
mes = local -> tm_mon + 1;
ano = local -> tm_year + 1900;
sprintf(var1,"%s",format(dia));
sprintf(var2,"%s",format(mes));
sprintf(var3,"%s",format(ano));
sprintf(var4,"%s/%s/%s",var1,var2,var3);
// retorna data no formato dd:MM:yyyy com um ponteiro
dataPtr = var4;
return dataPtr;
}
// FUNCAO PARA RETORNAR HORA
char *hora(void){
int hora,minuto,segundo;
char var1[100],
var2[100],
var3[100],
var5[100],
*retorno;
struct tm *local;
time_t t;
t = time(NULL);
local = localtime(&t);
// obtem hora, minuto e segundo e os aloca em uma variavel do tipo inteiro
hora = local -> tm_hour;
minuto = local -> tm_min;
// por algum motivo precisa converter os valores retornados pelos ponteiros
// da funcao em variaveis do tipo char
sprintf(var1,"%s",format(hora));
sprintf(var2,"%s",format(minuto));
// cria a variavel de retorno dos dados e cria um ponteiro para essa variavel
sprintf(var5,"%s:%s",var1,var2);
// retorna hora no formato hh:mm:ss com um ponteiro
retorno = var5;
return retorno;
}
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Atualizar Debian Online de uma Versão para outra
Máquina perereca - até onde é possível o uso de Linux?
Redimensionando, espelhando, convertendo e rotacionando imagens com script
Debian 13 Trixie para Iniciantes
Convertendo pacotes DEB que usam ZSTD (Padrão Novo) para XZ (Padrão Antigo)
baschrc customizado pegeui vários. (1)
eu tive uma idéia, mas mais privada sobre o assunto de mu online e ser... (7)
Debian 13 "trixie&... lançado! (42)
como posso instalar o anbox e como inicio ele para funcionar arquivos ... (10)