Ir ao conteúdo
  • Cadastre-se

C Como procurar um arquivo texto específico


rob.pormann

Posts recomendados

E aí rapa!

É o seguinte, estou criando um programa de uma locadora de carros mas tenho uma dúvida. Ao cadastrar o carro estou criando dois arquivos que vão ser utilizados com objetivos diferentes e isso está funcionando. Gostaria de saber como faço para buscar um arquivo específico pelo seu nome. Porque quando a pessoa for escolher o carro ela vai digitar a sua placa (THC0420) e gostaria de puxar apenas o arquivo que está com o nome "Carro_THC0420.txt" que vai conter apenas as informações daquele carro, a partir daí quero pegar essas informações do arquivo "Carro_THC0420" e anexá-las ao arquivo de cadastro da pessoa. Quais comandos utilizo para fazer isso? Segue o código abaixo:

// Declaração de livrarias da plataforma.
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h> 
#include <time.h>

// Declaração das váriaveis do tipo: número, caractere e arquivo de texto.
    
            
    char opcao, nome[150], rg[100], cpf[100], CNH[100], dataNSC[10000] = "  ";
    char txt[100] = ".txt", xlsx[100] = ".xlsx", datanasc[10000] = "  ", Linha[100], telefone[10];
    char UF[2], cidade[150], bairro[150], rua[150], ncasa[50], marca[15], modelo[15], km[15], anocarro[4], categoria[20], status[20], Categoria[20], pLc[7];
    char  dataHoraR[10000] = " ", dataHoraE[10000] = "  ";
    FILE *arquivo ,*RegistroLocacao,*RegistroCarro, *ListaCarros, *arq;
    char dateStr[9], timeStr[9], opcarro[100] = "Carro_", listacarro [1000];
    char localcarro[100] = "C:\\Users\\Public\\Documents\\Carro_";
    char locallocacao[100] = "C:\\Users\\Public\\Documents\\Locacao_";
    char localc[1000] = "C:\\Users\\Public\\Documents\\Categoria_";
    char localceco[1000] = "C:\\Users\\Public\\Documents\\Categoria_ECONOMICO";
    char localcint[1000] = "C:\\Users\\Public\\Documents\\Categoria_INTERMEDIARIO";
    char localcexe[1000] = "C:\\Users\\Public\\Documents\\Categoria_EXCUTIVO";
    
    
    
    // Estruturas prontas(Funcionam como objetos sendo inseridos a qualquer momento no contexto do software). 
   // Estrutura principal, aparecerá em praticamente todas as telas do projeto.
   
     linha()
    {
      printf ("            |-------------------------------------------------|\n");
      printf ("            |      Legal Rent Acar - Locação de Veículos      |\n"); 
      printf ("            |-------------------------------------------------|\n");
    }
    
    // Cadastro das informações necessárias do usuário no sistema.              
        Locacao()
    {
        printf("\n\n"); 
        printf(" >>> PARA REALIZAR LOCACAO FAVOR PREENCHER informações DO CLIENTE: <<< ");
       
        printf("\n\n");
        printf("\n NOME COMPLETO: ");
        gets  (nome);
        
        printf("\n DATA DE NASCIMENTO: ");
        gets (datanasc);
        
        printf("\n RG: ");
        gets (rg);
       
        printf("\n CPF: ");
        gets (cpf);
        
        printf("\n CNH: ");
        gets (CNH);
        
        system("cls");
        
        printf("\n\n"); 
        printf(" >>> POR FAVOR PREENCHA O ENDERECO DO CLIENTE: <<< ");
        
        printf("\n\n"); 
        printf("\n UF: ");
        gets (UF);
        
        printf("\n CIDADE: ");
        gets (cidade);
        
        printf("\n BAIRRO: ");
        gets (bairro);
        
        printf("\n RUA: ");
        gets (rua);
        
        printf("\n NUMERO: ");
        gets (ncasa);
        
        system("cls");
        printf("\n\n\n NUMERO DE TELEFONE DO CLIENTE: ");
        gets (telefone);
        
            
       
     // Concatenação de váriaveis.
       strcat (locallocacao, txt);
       
           
     // Criando um novo arquivo de texto para que possam ser salvas as informações digitadas.
        if((RegistroLocacao = fopen(locallocacao,"a")) == NULL)
           {
            printf("Erro ao abrir o arquivo!\n");
            exit(1);
           }
     
     fprintf (RegistroLocacao,"\n\nNOME: %s\nDATA NASCIMENTO: %s\nRG: %s\nCPF: %s\nCNH: %s\nEndereço: %s, %s, %s, %s - %s\nNUMERO DE TELEFONE: %s", nome, datanasc, rg, cpf, CNH, rua, ncasa, bairro, cidade, UF, telefone);
     fclose(RegistroLocacao);
     
    system("cls");
    printf(" ESCOLHA A CATEGORIA DESEJADA: \n\n\n 1 - ECONOMICO.\n\n 2 - INTERMEDIARIO.\n\n 3 - EXECUTIVO.\n\n");
    gets(opcCategoria);
    
     if (opcCategoria == '1')
        {
            strcat (localceco, Categoria);
               strcat (localceco, txt);
               
            ListaCarros = fopen(localceco, "r");
            if((ListaCarros = fopen(localceco, "r"))== NULL)
               {
            printf("Erro ao abrir o arquivo!\n");
            exit(1);
               }
            
            system("cls");
            setbuf(stdin, NULL);    
                    
            printf("INFORME A PLACA DO CARRO DESEJADO:\n");
            
            while (fgets(listacarro, 10000, ListaCarros) != NULL)            
            {
                printf("%s", listacarro);
                fclose (ListaCarros);    
            }
            
            scanf("%s", &opcarro);
            
            strcat (localcarro, opcarro);
            
            ListaCarros = fopen(localcarro, "r");
            if((ListaCarros = fopen(localcarro, "r"))== NULL)
               {
            printf("Erro ao abrir o arquivo!\n");
            exit(1);
               }
            
                while (fgets(listacarro, 10000, ListaCarros) != NULL)            
            {
                printf("%s", listacarro);
                fclose (ListaCarros);    
            }
            
       }   
        
    else if (opcCategoria == '2')
        {
            strcat (localcint, Categoria);
               strcat (localcint, txt);
            
            ListaCarros = fopen(localcint, "r");
            if((ListaCarros = fopen(localcint, "r"))== NULL)
               {
            printf("Erro ao abrir o arquivo!\n");
            exit(1);
               }
            
            system("cls");
            setbuf(stdin, NULL);            
            
            printf("INFORME A PLACA DO CARRO DESEJADO:\n");
            
            while (fgets(listacarro, 10000, ListaCarros) != NULL)            
            {
                printf("%s", listacarro);
                fclose (ListaCarros);    
            }
            
            scanf("%s", &opcarro);
            
        }
    
    else if (opcCategoria == '3')
        {
            strcat (localcexe, Categoria);
               strcat (localcexe, txt);
            
            ListaCarros = fopen(localcexe, "r");
            if((ListaCarros = fopen(localcexe, "r"))== NULL)
               {
            printf("Erro ao abrir o arquivo!\n");
            exit(1);
               }
            
            system("cls");
            setbuf(stdin, NULL);    
                    
            printf("INFORME A PLACA DO CARRO DESEJADO:\n");
            
            while (fgets(listacarro, 10000, ListaCarros) != NULL)            
            {
                printf("%s", listacarro);
                fclose (ListaCarros);    
            }
            
            scanf("%s", &opcarro);
            
        }
        
    else 
        {
                printf ("Opcao invalida");
                system (pause);
                return 0;
          }


        
        
        
        
        
    }

  // Cadastro de veículos no sistema.              
    CadastroCarros()    
     {               
         printf("\n\n"); 
        printf(" >>> PREENCHA AS informações DO CARRO: <<< ");
        
        printf("\n\n"); 
        printf("\n MARCA: ");
        gets  (marca);
        
        printf("\n MODELO: ");
        gets (modelo);
       
        printf("\n PLACA: ");
        gets (pLc);
        
        printf("\n ANO: ");
        gets (anocarro);
        
        printf("\n KM: ");
        gets (km);
        
        printf("\n CATEGORIA: ");
        gets (Categoria);    
            
       printf("\n STATUS: ");
       gets (status);
       
       // Concatenação de váriaveis.
       strcat (localc, Categoria);
       strcat (localc, txt);
       

     // Criando um novo arquivo de texto para que possam ser salvas as informações digitadas.
        if((ListaCarros = fopen(localc,"a")) == NULL)
           {
            printf("Erro ao abrir o arquivo!\n");
            exit(1);
           }
     
     
     fprintf (ListaCarros,"Marca: %s Modelo: %s Ano: %s Placa: %s KM: %s Categoria: %s Status: %s\n\n", marca, modelo, anocarro, pLc, km, Categoria, status);
     fclose(ListaCarros);
     
     // Concatenação de váriaveis.
       strcat (localcarro, pLc);
       strcat (localcarro, txt);

     // Criando um novo arquivo de texto para que possam ser salvas as informações digitadas.
        if((RegistroCarro = fopen(localcarro,"a")) == NULL)
           {
            printf("Erro ao abrir o arquivo!\n");
            exit(1);
           }
     
     fprintf (RegistroCarro," Marca: %s\n Modelo: %s\n Ano: %s\n Placa: %s\n KM: %s\n Categoria: %s\n Status: %s\n\n\n", marca, modelo, anocarro, pLc, km, Categoria, status);
     fclose(RegistroCarro);
     
       
     }

 // Locação de Veículos

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...