ThiagoSilva72 Postado Abril 13, 2015 Denunciar Share Postado Abril 13, 2015 Bom dia amigos. Estou montando um trabalho da facul que seria basicamente um programa de estacionamento. Como estou começando a programar tenho usado muitos codigos que acho de funçoes que posso reutilizar. E ajudas que obtenho pela internet. Agora meu programa esta dando um erro pra compilar que não sei onde identificar o erro, podem me ajudar? Segue o codigo em c feito no dev c++ portable.. #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <ctype.h> #include <string.h> void INSERIR (int i); void INICIALIZA(); void CADASTRAR_VEICULO(); void LISTAR_VEICULOS(); struct { char placa_carro[8], modelo[20], cor[10]; int status; }carro[10]; int numero_de_veiculos=0; //contador de veiculos estacionados. //------------------------------------------------------------------------ main () { int OP; FILE* P; INICIALIZA (); P=fopen("carro.txt", "r"); fread(&carro, sizeof(carro), 1, P); fclose(P); do{ printf ("\n1.Cadastrar veiculo. \n2.Listar veiculo. \n3.Sair \n\nOpcao: "); scanf ("%d", &OP); switch (OP) { case 1: { system("cls"); CADASTRAR_VEICULO(); break; } case 2: { system("cls"); LISTAR_VEICULOS(); break; } case 3: break; default: { system ("cls"); printf ("\nOpcao Invalida.\nTecle ENTER para voltar ao Menu."); getch(); system("cls"); } } } while(OP!=3); getchar(); } //---------------------------------------------------------------- void INICIALIZA() { int i; for(i=0; i<10; i++) carro[i].status=0; } //---------------------------------------------------------------- void INSERIR (int i) { char placa[8]; int i2, teste, tamanho_placa; FILE* P; printf ("\nDigite a placa do veiculo: "); fflush(stdin); gets(placa); strupr(placa); //Deixa em maiusculo as letras da placa. for (i2=0; i2<10; i2++) { if (strcmp(placa, carro[i2].placa_carro)==0) { printf ("\nVeiculo ja cadastrado, informe outra placa"); INSERIR(i); } } strcpy(carro[i].placa_carro, placa); tamanho_placa=strlen(carro[i].placa_carro); if (tamanho_placa != 7) { if (tamanho_placa < 7) { printf ("\nPlaca invalida, digitos insuficientes."); INSERIR(i); } else // Tamanho placa > 7. { printf ("\nPlaca invalida, digitos a mais."); INSERIR(i); } } for (i2=0; i2<3; i2++ ) //Testa se os 3 primeiros digitos sao letras. { teste=isalpha(carro[i].placa_carro[i2]); //Retorna 1 se for letras. if (teste==0) { printf ("\nPlaca invalida, os 3 primeiros digitos devem ser letras."); INSERIR(i); } } for (i2=3; i2<7; i2++) { teste=isalpha(carro[i].placa_carro[i2]); //Retorna 1 se for letras. if (teste==1) { printf ("Placa invalida, os 4 ultimos digitos devem ser numeros."); INSERIR(i); } } printf ("\nDigite o modelo: "); fflush (stdin); gets (carro[i].modelo); strlwr (carro[i].modelo); //Deixa a string em minusculo. carro[i].modelo[0]=toupper(carro[i].modelo[0]); // Deixa primeiro caractere maiusculo. printf ("\nDigite a cor: "); fflush (stdin); gets (carro[i].cor); strlwr(carro[i].cor); carro[i].cor[0]=toupper(carro[i].cor[0]); carro[i].status = 1; P = fopen ("carro.txt", "w"); fwrite (&carro, sizeof(carro), 1, P); fclose(P); } //-------------------------------------------------------------------- void CADASTRAR_VEICULO() { int i, flag = 1; for (i=0; i<10; i++) { if (carro[i].status==0) { INSERIR (i); flag = 0; system ("cls"); break; } } if (flag==1) { printf ("\nSem espaço para cadastrar, pressione enter para voltar ao Menu."); getch(); system ("cls"); } } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 LazaroBinda Postado Abril 16, 2015 Denunciar Share Postado Abril 16, 2015 Amigo, posta o erro que o compilador te mostra. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
ThiagoSilva72
Bom dia amigos.
Estou montando um trabalho da facul que seria basicamente um programa de estacionamento.
Como estou começando a programar tenho usado muitos codigos que acho de funçoes que posso reutilizar.
E ajudas que obtenho pela internet.
Agora meu programa esta dando um erro pra compilar que não sei onde identificar o erro, podem me ajudar?
Segue o codigo em c feito no dev c++ portable..
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.