Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Entre para seguir isso  
rob.pormann

C Como procurar um arquivo texto específico

Recommended Posts

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

 

Editado por Simon Viegas
Favor ler tópico e seguir orientações sobre POSTAGEM DE CÓDIGOS: http://www.clubedohardware.com.br/announcement/27-poste-seus-c%C3%B3digos-corretamente/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use strcat/strncat e após receber a placa, junte ela ao diretório e abra o arquivo.

Se ele abrir é por que existe, se não abrir...

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • Velho! Muito obrigado pela atenção e dicas. Tudo que você disse até o momento deu certinho. Muito obrigado, de coração!

    • Curtir 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário

    Entre para seguir isso  





    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

    ×