Ir ao conteúdo
  • Cadastre-se

C Comparação e Cópia de Strings


rob.pormann

Posts recomendados

Conforme na imagem "teste" durante a execução do programa  preciso saber como ler a linha específica da placa do carro que o cliente digitar. Com essa linha específica nós precisamos fazer duas coisas: A primeira seria alterar o "Status: D" dela para "Status A", mudando de disponível para alugado. A segunda seria pegar a linha completa, do começo ao fim e salvá-la junto com o cadastro do cliente, onde os dados do cliente estão sendo salvos.

 

// 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] = "  ", opclista;
    char txt[100] = ".txt", datanasc[10000] = "  ", Linha[100], telefone[10], status[20], Categoria[20], pLc[7];
    char UF[2], cidade[150], bairro[150], rua[150], ncasa[50], marca[15], modelo[15], km[15], anocarro[4], categoria[20];
    char  dataHoraR[10000] = " ", dataHoraE[10000] = "  ", opcidade, opcong, opcCategoria, cpfpagamento[20], ticket [10000];
    FILE *arquivo ,*RegistroLocacao,*RegistroCarro, *ListaCarros, *arq, *RegistroRelat;
    char dateStr[9], timeStr[9], opcarro[100] = "Carro_", listacarro [10000], registrocarro [10000], opcentrega, opcrelat;
    char localcarro[100] = "C:\\Users\\Public\\Documents\\Carro_";
    char locallocacao[100] = "C:\\Users\\Public\\Documents\\Locacao_";
    char localrelat [1000] = "C:\\Users\\Public\\Documents\\Locacoes_";
    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_EXECUTIVO";
    float valorLocacao = 0, valorticket = 0;
    int qtdias = 0;
    
    int main ()
    {
        printf("\n\n"); 
        printf(" >>> PARA REALIZAR LOCACAO FAVOR PREENCHER informações DO CLIENTE: <<< ");
       
        printf("\n\n");
        printf("\n NOME COMPLETO: ");
        gets  (nome);
        setbuf(stdin, NULL);
        
        printf("\n DATA DE NASCIMENTO: ");
        gets (datanasc);
        setbuf(stdin, NULL);
        
        printf("\n RG: ");
        gets (rg);
        setbuf(stdin, NULL);
       
        printf("\n CPF: ");
        gets (cpf);
        setbuf(stdin, NULL);
        
        printf("\n CNH: ");
        gets (CNH);
        setbuf(stdin, NULL);
        
        system("cls");
        
        printf("\n\n"); 
        printf(" >>> POR FAVOR PREENCHA O ENDERECO DO CLIENTE: <<< ");
        setbuf(stdin, NULL);
        
        printf("\n\n"); 
        printf("\n UF: ");
        gets (UF);
        setbuf(stdin, NULL);
        
        printf("\n CIDADE: ");
        gets (cidade);
        setbuf(stdin, NULL);
        
        printf("\n BAIRRO: ");
        gets (bairro);
        setbuf(stdin, NULL);
        
        printf("\n RUA: ");
        gets (rua);
        setbuf(stdin, NULL);
        
        printf("\n NUMERO: ");
        gets (ncasa);
        setbuf(stdin, NULL);
        
        system("cls");
        printf("\n\n\n NUMERO DE TELEFONE DO CLIENTE: ");
        gets (telefone);
        setbuf(stdin, NULL);
        
     // Concatenação de váriaveis.
       strcat (locallocacao, cpf);
       strcat (locallocacao, txt);
       strcat (localrelat, 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);
           }
        
        if((RegistroRelat = fopen(localrelat,"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);
     fprintf (RegistroRelat,"\n\nNOME: %s RG: %s Endereço: %s, %s, %s, %s - %s TELEFONE: %s", nome, rg, rua, ncasa, bairro, cidade, UF, telefone);
     fclose(RegistroLocacao);
     fclose (RegistroRelat);
     
     // Escolha da categoria de carros dividida em três opções.
    system("cls");
    printf(" ESCOLHA A CATEGORIA DESEJADA: \n\n\n 1 - ECONOMICO.\n\n 2 - INTERMEDIARIO.\n\n 3 - EXECUTIVO.\n\n");
    scanf("%c", &opcCategoria);
    
     if (opcCategoria == '1')
        {
            // Concatenação de váriaveis.    
               strcat (localceco, txt);
               
               // Lendo o arquivo previamente criado na tela de cadastro de carros.
            ListaCarros = fopen(localceco, "r");
            if((ListaCarros = fopen(localceco, "r"))== NULL)
               {
            printf("Erro ao abrir o arquivo!\n");
            exit(1);
               }
            
            system("cls");
            setbuf(stdin, NULL);    
                    
            
            // Exibindo o conteúdo do arquivo para que o cliente possa escolher o carro.
            while (fgets(listacarro, 10000, ListaCarros) != NULL)            
            {
                printf("%s", listacarro);    
            }
            fclose (ListaCarros);
            
            printf("INFORME A PLACA DO CARRO DESEJADO:  ");
            scanf ("%s", &opcarro);
            setbuf(stdin, NULL);
            
            // Cálculo de valor da locação * quantidade de dias escolhidos pelo cliente.
            printf("DESEJA ALUGAR O CARRO POR QUANTOS DIAS?\n");
            scanf ("%d", &qtdias);
            setbuf(stdin, NULL);
            valorLocacao = 89.90;
            valorLocacao = valorLocacao * qtdias;
            
            // Concatenação de váriaveis.
            strcat (localcarro, opcarro);
            strcat (localcarro, txt);
            
            // Lendo e copiando o conteúdo de localcarro para locallocacao.
            RegistroCarro = fopen(localcarro, "r");
            if((RegistroCarro = fopen(localcarro, "r"))== NULL)
               {
            printf("Erro ao abrir o arquivo!\n");
            exit(1);
               }
            
            if((RegistroLocacao = fopen(locallocacao,"a")) == NULL)
            {
                printf("Erro ao abrir o arquivo!\n");
                exit(1);
            }
            
                while (fgets(registrocarro, 10000, RegistroCarro) != NULL)            
            
                    
            // Coleta da data da locação, salvando a data e o carro alugado no arquivo locallocacao.
            _strdate (dateStr);
            _strtime (timeStr);
            fprintf (RegistroLocacao, "\nData e hora da locacao: %s %s", dateStr, timeStr);
            fprintf (RegistroLocacao, "\n%s", registrocarro);    
            fclose (RegistroCarro);    
            fclose (RegistroLocacao);
                
                
            }
           
    else if (opcCategoria == '2')
        {
            // Concatenação de váriaveis.
            strcat (localcint, Categoria);
               strcat (localcint, txt);
            
            // Lendo o arquivo previamente criado na tela de cadastro de carros.
            ListaCarros = fopen(localcint, "r");
            if((ListaCarros = fopen(localcint, "r"))== NULL)
               {
            printf("Erro ao abrir o arquivo!\n");
            exit(1);
               }
            
            system("cls");
            setbuf(stdin, NULL);            
            
            // Exibindo o conteúdo do arquivo para que o cliente possa escolher o carro.
            while (fgets(listacarro, 10000, ListaCarros) != NULL)            
            {
                printf("%s", listacarro);
            }
            fclose (ListaCarros);    

            
            printf("INFORME A PLACA DO CARRO DESEJADO:  ");
            scanf ("%s", &opcarro);
            setbuf(stdin, NULL);
            
            // Cálculo de valor da locação * quantidade de dias escolhidos pelo cliente.
            printf("DESEJA ALUGAR O CARRO POR QUANTOS DIAS?\n");
            scanf ("%d", &qtdias);
            setbuf(stdin, NULL);
            valorLocacao = 119.90;
            valorLocacao = valorLocacao * qtdias;
            
            // Concatenação de váriaveis.
            strcat (localcarro, opcarro);
            strcat (localcarro, txt);
            
            // Lendo e copiando o conteúdo de localcarro para locallocacao.
            RegistroCarro = fopen(localcarro, "r");
            if((RegistroCarro = fopen(localcarro, "r"))== NULL)
               {
            printf("Erro ao abrir o arquivo!\n");
            exit(1);
               }
            
                while (fgets(registrocarro, 10000, RegistroCarro) != NULL)            
            {
                 if((RegistroLocacao = fopen(locallocacao,"a")) == NULL)
                    {
                        printf("Erro ao abrir o arquivo!\n");
                        exit(1);
                    }
                    
                // Coleta da data da locação, salvando a data e o carro alugado no arquivo locallocacao.
                _strdate (dateStr);
                _strtime (timeStr);
                fprintf (RegistroLocacao, "\nData e hora da locacao: %s %s", dateStr, timeStr);
                fprintf (RegistroLocacao, "\n%s", registrocarro);    
                fclose (RegistroCarro);    
                fclose (RegistroLocacao);
            
            }
         
        }
    
    else if (opcCategoria == '3')
        {
            // Concatenação de váriaveis.    
               strcat (localcexe, txt);
               
               // Lendo o arquivo previamente criado na tela de cadastro de carros.
            ListaCarros = fopen(localcexe, "r");
            if((ListaCarros = fopen(localcexe, "r"))== NULL)
               {
            printf("Erro ao abrir o arquivo!\n");
            exit(1);
               }
            
            system("cls");
            setbuf(stdin, NULL);    
                    
            
            // Exibindo o conteúdo do arquivo para que o cliente possa escolher o carro.
            while (fgets(listacarro, 10000, ListaCarros) != NULL)            
            {
                printf("%s", listacarro);    
            }
            fclose (ListaCarros);
            
            printf("INFORME A PLACA DO CARRO DESEJADO:  ");
            scanf ("%s", &opcarro);
            setbuf(stdin, NULL);
            
            // Cálculo de valor da locação * quantidade de dias escolhidos pelo cliente.
            printf("DESEJA ALUGAR O CARRO POR QUANTOS DIAS?\n");
            scanf ("%d", &qtdias);
            setbuf(stdin, NULL);
            valorLocacao = 89.90;
            valorLocacao = valorLocacao * qtdias;
            
            // Concatenação de váriaveis.
            strcat (localcarro, opcarro);
            strcat (localcarro, txt);
            
            // Lendo e copiando o conteúdo de localcarro para locallocacao.
            RegistroCarro = fopen(localcarro, "r");
            if((RegistroCarro = fopen(localcarro, "r"))== NULL)
               {
            printf("Erro ao abrir o arquivo!\n");
            exit(1);
               }
            
            if((RegistroLocacao = fopen(locallocacao,"a")) == NULL)
            {
                printf("Erro ao abrir o arquivo!\n");
                exit(1);
            }
            
                while (fgets(registrocarro, 10000, RegistroCarro) != NULL)            
            
                    
            // Coleta da data da locação, salvando a data e o carro alugado no arquivo locallocacao.
            _strdate (dateStr);
            _strtime (timeStr);
            fprintf (RegistroLocacao, "\nData e hora da locacao: %s %s", dateStr, timeStr);
            fprintf (RegistroLocacao, "\n%s", registrocarro);    
            fclose (RegistroCarro);    
            fclose (RegistroLocacao);
                
                
            }
           
        
    else 
        {
                printf ("Opcao invalida");
                system ("pause");
                return 0;
          }
    
    system("cls");
        
    printf("O cliente possui mais de 60 anos?\n1. SIM\n2. NAO\n");
    scanf("%c", &opcidade);
    setbuf(stdin, NULL);
    
    if (opcidade == '1')
    {
        valorLocacao = valorLocacao - valorLocacao*0.1;
    }
    
    system("cls");
    
    printf("O cliente possui afiliacao com a ONG?\n1. SIM\n2. NAO\n");
    scanf("%c", &opcong);
    setbuf(stdin, NULL);
    
    if (opcong == '1')        
    {    
        valorLocacao = valorLocacao - valorLocacao*0.05;    
    }
    
    if((RegistroLocacao = fopen(locallocacao,"a")) == NULL)
    {
        printf("Erro ao abrir o arquivo!\n");
        exit(1);
    }
    
    fprintf(RegistroLocacao, "\nTotal a pagar: R$ .2%f", valorLocacao);
    fclose (RegistroLocacao);
    
    

    }

teste.png

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...