Bom pessoal, estou com o seguinte problema e não sei solucionar… Criei uma struct e um vetor do meu tipo struct. Porém, quando eu chamo minha função que importa os arquivos do .txt, não sei como devo passar esse struct para a função e nem como a função, me retornará as structs devidamente preenchidas conforme o arquivo .txt, alguém pode me ajudar? Deixo abaixo meu main.c, a biblioteca e o arquivo do qual quero importar…
//main.c
int main (){
setlocale(LC_ALL, "Portuguese");
int opcao, permanencia = 0, opcao2, x = 0;
int contadorLocadora, contadorCliente, contadorFilmesLocados, contadorFilmes, contadorCategoria, contadorFuncionario, contadorFornecedor;
int quantDevendo, quantDevedor, contadorNF, chave;
printf(" Opcoes de arquivos:\n 1 - Texto\n 2 - Binario\n Digite a opcao desejada: ");
scanf("%d", &chave);
printf(" ___________________________________________________________________________\n");
printf("| BEM VINDO AO SISTEMA LOCAGER! |\n");
printf("| #MENU DE OPCOES# |\n");
printf("| |\n");
printf("| |\n");
printf("| 1 - Locadora |\n");
printf("| 2 - Clientes |\n");
printf("| 3 - Filmes |\n");
printf("| 4 - Funcionarios |\n");
printf("| 5 - Fornecedores |\n");
printf("| 6 - Caixa |\n");
printf("| 7 - Relatorios |\n");
printf("| 8 - Estoque |\n");
printf("|___________________________________________________________________________|\n");
printf(" Digite o numero da opcao que deseja ter acesso: ");
scanf("%d", &opcao);
if (opcao == 1){
printf(" ___________________________________________________________________________\n");
printf("| #MENU DE LOCADORA# |\n");
printf("| |\n");
printf("| 1 - Exibir dados da locadora |\n");
printf("| 2 - Cadastrar locadora |\n");
printf("| 3 - Excluir locadora |\n");
printf("|___________________________________________________________________________|\n");
printf(" Digite o numero da opcao que deseja ter acesso: ");
scanf("%d", &opcao2);
*//aqui eu estou importando um contador externo para definir o tamanho do meu vetor e até aqui está funcionando perfeitamente;*
contadorLocadora = impContadorLocadora(x);
printf("%d", contadorLocadora);
*//aqui a declaração da minha variável conforme a struct da biblioteca "locadora.h" e definindo o tamanho do vetor, conforme o contador que importei nos comando anteriores e chamo minha função de importar os arquivos da locadora;*
Locadora loca[contadorLocadora];
impLocadora(contadorLocadora);}}
//locadora.c
void locadora(int contadorLocadora){
if(contadorLocadora == 1){
printf("Nome fantasia: %s", loca[0].nomeFantasia);
printf("Razao Social: %s", loca[0].razaoSocial);
printf("Inscricao estadual: %s", loca[0].inscricaoEstadual);
printf("CNPJ: %s", loca[0].cnpj);
printf("Rua: %s", loca[0].rua);
printf("Numero: %d", loca[0].numeroCasa);
printf("Bairro: %s", loca[0].bairro);
printf("Cidade: %s", loca[0].cidade);
printf("Estado: %s", loca[0].estado);
printf("Telefone: %d", loca[0].telefone);
printf("Email: %s", loca[0].email);
printf("Nome responsavel: %s", loca[0].nomeResponsavel);
printf("Telefone responsavel: %d", loca[0].telefoneResponsavel);
}
else {
printf("Digite o nome fantasia: ");
scanf(" %s", &loca[0].nomeFantasia);
printf("Digite a razao social: ");
scanf(" %s", &loca[0].razaoSocial);
printf("Digite a inscricao estadual: ");
scanf(" %s", &loca[0].inscricaoEstadual);
printf("Digite o CNPJ: ");
scanf(" %s", &loca[0].cnpj);
printf("Digite a rua: ");
scanf(" %s", &loca[0].rua);
printf("Digite o numero do estabelecimento: ");
scanf(" %d", &loca[0].numeroCasa);
printf("Digite o bairro: ");
scanf(" %s", &loca[0].bairro);
printf("Digite a cidade: ");
scanf(" %s", &loca[0].cidade);
printf("Digite a sigla do estado: ");
scanf(" %s", &loca[0].estado);
printf("Digite o telefone: ");
scanf(" %d", &loca[0].telefone);
printf("Digite o email: ");
scanf(" %s", &loca[0].email);
printf("Digite o nome do responsavel: ");
scanf(" %s", &loca[0].nomeResponsavel);
printf("Digite o telefone do responsavel: ");
scanf(" %s", &loca[0].telefoneResponsavel);
printf("Cadastro realizado com sucesso!");
contadorLocadora = 1;
}
}
//locadora.h
typedef struct{
char nomeFantasia[150];
char razaoSocial[50];
char inscricaoEstadual[50];
char cnpj[50];
char rua[100];
int numeroCasa;
char bairro[50];
char cidade[50];
char estado[2];
char telefone[11];
char email[100];
char nomeResponsavel[100];
char telefoneResponsavel[11];
}Locadora;
void locadora(int contadorLocadora);
//locadora.txt
Locadora Keia
Alocacoes de produtos ltda
111.111.111.98
151.181.7216-4
Rua 1
25
Sao Judas
Formiga
MG
[telefone removido]
[email removido]
Jailson
[telefone removido]