Ajuda em projeto de C

09/11/2019

0

C

Olá, Estou realizando um trabalho da faculdade onde tenho que fazer um controle de veículos, porem coo ainda n estudamos banco de dados o professor pediu que fosse armazenado os dados utilizando txt, fui desenvolvendo minha aplicação e pensei em uma forma de carregar esses dados para a memoria assim que for iniciado o programa para que possa ser realizado as buscas utilizando vetores, até onde fiz o codigo compilei para testar e n teve erros, porem quando rodo o programa ele para de responder, gostaria de alguma ajuda. Desde já agradeço.

segue o codigo:

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#define TAMVET 20

typedef struct{

char modelo[200];
char marca[200];
char placa[7];
int ano;
int chassi;
char cor[20];
char nome_proprietario[250];
int cpf_proprietario;
int telefone_proprietario;

}veiculo;

void menu();
void grava_dados_int(int dado);
void grava_dados_char(char dado[200]);
void carregar_dados ();

FILE *database;

veiculo dados_txt [TAMVET]; // variavel para carregar os dados do arquivo txt
char teste_fim_arquivo [TAMVET];

int main(){

veiculo veiculo;
int op; //variavel de leitura das opções escolhidas nos menus!

carregar_dados ();

//for (int i=0;i<4;i++){
// printf("%d\n",dados_txt[i].ano);
//}

system("pause");

menu();
scanf("%d",&op);

switch (op){

case 1:

system("cls");

printf("-------------------------------------------------------\n\n");
printf(" DADOS DO VEICULO \n\n");
printf("-------------------------------------------------------\n\n");

printf(" MODELO: ");
setbuf(stdin,NULL);
fgets(veiculo.modelo,200,stdin);
grava_dados_char(veiculo.modelo);

printf("\n MARCA: ");
fgets(veiculo.marca,200,stdin);
grava_dados_char(veiculo.marca);

printf("\n COR: ");
fgets(veiculo.cor,200,stdin);
grava_dados_char(veiculo.cor);

printf("\n PLACA: ");
fgets(veiculo.placa,200,stdin);
grava_dados_char (veiculo.placa);

printf("\n ANO DE FABRICAÇÃO: ");
scanf("%d",&veiculo.ano);
grava_dados_int (veiculo.ano);

printf("\n CHASSI: ");
scanf("%d",&veiculo.chassi);
grava_dados_int (veiculo.chassi);

system("cls");

printf("-------------------------------------------------------\n\n");
printf(" DADOS DO PROPRIETÁRIO \n\n");
printf("-------------------------------------------------------\n\n");

printf(" NOME: ");
setbuf(stdin,NULL);
fgets(veiculo.nome_proprietario,250,stdin);
grava_dados_char (veiculo.nome_proprietario);

printf("\n CPF: ");
scanf("%d",&veiculo.cpf_proprietario);
grava_dados_int (veiculo.cpf_proprietario);

printf("\n TELEFONE: ");
scanf("%d",&veiculo.telefone_proprietario);
grava_dados_int (veiculo.telefone_proprietario);

break;
} // fim switch menu principal


} // fim fo main

void carregar_dados (){

database = fopen("database.txt","r");

if ( database == NULL ) printf ("Erro ao acessar o arquivo dos dados!!\n");

for ( int i = 0; i < TAMVET; i++ ){

if ( fscanf(database,"%s",teste_fim_arquivo) == EOF) break;

fgets(dados_txt[i].modelo,TAMVET,database);
fgets(dados_txt[i].marca,TAMVET,database);
fgets(dados_txt[i].cor,TAMVET,database);
fgets(dados_txt[i].placa,TAMVET,database);
fscanf(database,"%d",dados_txt[i].ano);
fscanf(database,"%d",dados_txt[i].chassi);
fgets(dados_txt[i].nome_proprietario,TAMVET,database);
fscanf(database,"%d",dados_txt[i].cpf_proprietario);
fscanf(database,"%d",dados_txt[i].telefone_proprietario);
}
}



void grava_dados_char (char dado[200]){

database = fopen("database.txt","a");

if ( database == NULL ) printf ("Erro ao acessar o arquivo dos dados!!\n");

fprintf(database,"%s",dado);

fclose(database);
}

void grava_dados_int (int dado){

database = fopen("database.txt","a");

if ( database == NULL ) printf ("Erro ao acessar o arquivo dos dados!!/n");

fprintf(database,"%d\n",dado);

fclose(database);

}

void menu(){

printf("-------------------------------------------------------\n\n");
printf(" GESTÃO DE VEICULOS \n\n");
printf("-------------------------------------------------------\n\n");
printf(" 1 - CADASTRAR \n 2 - ALTERAR \n 3 - CONSULTAR \n 4 - EXCLUIR \n 5 - GERAR RELATÓRIOS \n 6 - SAIR \n\n");
printf("-------------------------------------------------------\n\n");

}
Heber Magno

Heber Magno

Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar