Ir para conteúdo
Fórum Script Brasil

ThiagoSilva72

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Tudo que ThiagoSilva72 postou

  1. 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"); } }
×
×
  • Criar Novo...