Ajuda com struct em C

0 respostas
L

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]
Criado 29 de novembro de 2018
Respostas 0
Participantes 1