Jump to content
Nathalia Lucca

Editar campo de um arquivo txt

Recommended Posts

Ola Pessoal,

 

Preciso de ajuda com manipulação de arquivos!

Tenho um sistema de controle de estoque, com código de produto, nome do produto  e quantidade em estoque. Essas informações são armazenadas em um arquivo.

Quando uma encomenda é realizada é necessário diminuir a quantidade desse produto em estoque (que está no arquivo).

Eu consigo ler e gravar as informações no arquivo, mas como posso editar?

 

Desde já agradeço a atenção!

 

 

Share this post


Link to post
Share on other sites
Em 20/06/2017 at 15:32, Nathalia Lucca disse:

(...)

Eu consigo ler e gravar as informações no arquivo, mas como posso editar?

(...)

 

 

 

Olá!

 

Tem a opção de você trazer toda a informação na tela permitindo alterar o que deseja e depois regravar o registro. Em várias linguagens a opção é REWRITE

 

Agora, um programa de controle de estoque (suponho) com registros em TXT, sem acesso a registros não indexados ou randômicos é um tanto estranho ao meu ver.

 

[ ]'s

Share this post


Link to post
Share on other sites
Em 30/06/2017 at 16:12, Lord Enigm@ disse:

(...)

Agora, um programa de controle de estoque (suponho) com registros em TXT, sem acesso a registros não indexados ou randômicos é um tanto estranho ao meu ver.

 

Ola, 

Obrigada pela ajuda!

Esse é um trabalho da graduação, sobre manipulação de arquivos(o controle de estoque é só um exemplo).

Utilizei um vector para armazenar os valores lidos, alterei o campo e reescrevi no arquivo. 

Share this post


Link to post
Share on other sites
Em 29/06/2017 at 17:46, _Isis_ disse:

Abrindo o arquivo e inserindo o dado na posição correta (se você não quiser criar outro com todos os dados e remover o antigo).
https://stackoverflow.com/questions/2431073/how-do-i-insert-and-delete-some-characters-in-the-middle-of-a-file

Ola, 

Obrigada pela ajuda!

Acabei por inserir os dados em um vector, alterar o campo e gravar novamente no arquivo!

Share this post


Link to post
Share on other sites
44 minutos atrás, Nathalia Lucca disse:

Ola, 

Obrigada pela ajuda!

Esse é um trabalho da graduação, sobre manipulação de arquivos(o controle de estoque é só um exemplo).

Utilizei um vector para armazenar os valores lidos, alterei o campo e reescrevi no arquivo. 

 

Olá!

 

O controlo do estoque foi apenas a indicação do que deverias fazer, e o que sempre irás fazer ao sair da sua faculdade, ao longo da sua vida de programadora.

Assim como, a manipulação de arquivos e os trabalhos pedidos nas graduações são sempre os mesmos, mais de mesmices para variar, bom saber que ajudou alguém em primeira instancia ou no semestre deste ano.

 

[  ]'s

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By picsartisticc
      Meu professor passou uma prova pra casa para entregar na sexta feira e eu ainda não tive tempo de fazer nada e ainda tenho mais outra prova no mesmo dia. E definitivamente icc não tá como prioridade.
      Alguém pode pelo amooor me ajudar? 
      porque assim, máximo respeito pelos programadores viu? É muita paciência que vocês tem!
      1. Ele pede pra implementar um programa que tenha funções de soma, subtração, multiplicação e divisão que opere 2 números e retorne a sua respectiva operação.
      2. Implementar uma função que receba a quantidade de faltas no trabalho e retorne o salario mensal de um funcionario, cuja diaria é 100,00 de acordo com o numero de dias trabalhados.
      Tem essa formula aqui:
      dias_trabalhados=30-falta_no_mes
      salario_mensal=dias_trabalhadosx100
      3. Implantar um procedimento que receba 3 números e exiba-os em ordem crescente.

      Desde já muita gratidão por todos que tirarem um tempinho do tempo pra me salvar. Att.
    • By Luis011
      Estou tentando fazer um programa para cadastro de clientes, para o aprendizado apenas, estou com um erro que nao consigo resolver, cadastro algumas pessoas mas na hora de fazer a pesquisa desses cadastros eu coloco o cpf de uma e aparece as informacoes da proxima pessoa na fila de arrays. E quando tento pesquisar alguma pessoa que nao esteja no array 0 cai no else CPF INVALIDO, 
      Ai vai o codigo: 
      #include <iostream>
      #include <cstdio>
      #include <cstdlib>
      #include <cstring>
      char nome[50] [50];
       char email[50] [50];
       int cpf[50];
       int op;
       int i = 0;
       int a;
      int cpfpesquisa;
      char emailpesquisa[50];
      using namespace std;
      void pesquisa ();
      void cadastro();
      int main()
      {
          do{
          cadastro();
          pesquisa();
          }while(op == 2);
      system ("PAUSE");
      return 0;
      }
      void cadastro() {
       do{cout << "-----CADASTRO-----" << endl << endl;
       cout << "NOME: " ;
       cin >> nome;
       cout << endl <<"EMAIL: ";
       cin >> email;
       cout << endl << "CPF: ";
       cin >> cpf;
       cout << endl << "PARA CONTINUAR CADASTRANDO DIGITE 1";
       cin >> op;
       i++;
       }while(op == 1);
      }
      void pesquisa () {
      do{
      cout << "DIGITE 1 PARA PESQUISAR POR CPF E 2 PRA PESQUISAR POR EMAIL ";
      cin >> op;
      switch(op)
      {
          case 1: cout << "DIGITE O CPF: ";
                  cin >> cpfpesquisa;
                  for(a=0;a<50;a++) {
                      if(cpfpesquisa == cpf[a])
                      {cout << "NOME: " << nome[a] << endl << "EMAIL: " << email[a] << endl;
                  break;}
                  else{
                      cout << "CPF INVALIDO!"; }break;}break;

          case 2: cout << "DIGITE O EMAIL: ";
                  cin >> emailpesquisa;
                  for(a=0;a<50;a++){
                          if (strcmp( emailpesquisa,email[a]))
                          {
                              cout << "NOME: " << nome[a] << endl << "CPF: " << cpf[a] << endl;
                          break;}
                  }

      }
      cout << endl << "PARA CONTINUAR A PESQUISAR DIGITE 1" << endl << "PARA VOLTAR A CADASTRAR DIGITE 2 ";
      cin >> op;
      }while (op ==1);
      }
       
    • By christin cley
      Construir um algoritmo em C++ que preencha um matriz quadrada de tamanho 4 pelo usuário. Após o preenchimento pelo usuário, verifique na diagonal principal qual foi o maior valor digitado e exiba na tela o valor. Por fim,  exiba na tela toda matriz em forma de matriz na tela.
    • By vinicius.benedito98
      Faça um Programa em Linguagem C que receba o nome e a nota de 180 alunos de uma sala e armazene em vetor. Calcule e mostre: 
      - A média da sala; 
      - O nome do aluno com a maior nota; 
      - O nome do aluno com a menor nota; 
      - Os nomes dos alunos aprovados;

      O meu código é esse :

      #define N 180 
      int main() { 
      int i, ind_maior, ind_menor; 
      float nota[N], soma=0, media, min_aprov=7; 
      char nome[N][50]; 
      for (i=0; i printf("Informe o nome do %dº aluno: ", i+1); 
      gets(nome); 
      printf("Informe a nota do %dº aluno: ", i+1); 
      scanf(" %d ", &nota); 
      soma += nota; 

      media = soma / N; 
      printf("\nMédia da sal: %.2f\n", media); 
      ind_menor = ind_maior = 0; 
      for (i=1; i if (nota < nota[ind_menor]) 
      ind_menor = i; 
      if (nota > nota[ind_maior]) 
      ind_maior = i; 

      printf("Menor nota: %s com %.2f\n", nome[ind_menor], nota[ind_menor]); 
      printf("Maior nota: %s com %.2f\n", nome[ind_maior], nota[ind_maior]); 
      printf("Aprovados:"); 
      for (i=0; i if (nota >= min_aprov) 
      printf("\t%s com: %.2f\n", nome, nota); 

      return 0; 
      }


      Porém quando vou executa-lo, o programa pede para inserir o nome e nota do aluno apenas uma vez, e fica por isso, ele não exibe os resultados, alguém pode me ajudar ?
    • By Vitor Dória
      Pessoal,estou fazendo uma serie de exercícios em c++ e to me batendo muito em um exercício aqui,poderiam me ajudar?
       
       
      Construir um algoritmo em C++ que preencha um matriz quadrada de tamanho 4 pelo usuário. Após o preenchimento pelo usuário, verifique na diagonal principal qual foi o maior valor digitado e exiba na tela o valor. Por fim,  exiba na tela toda matriz em forma de matriz na tela.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.