Ir para conteúdo
Fórum Script Brasil
  • 0

Comparação e Cópia de Strings


Robson Pormann Dias

Pergunta

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. não\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. não\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

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...