Ir ao conteúdo
  • Cadastre-se

C++ Inserir dado do arquivo em struct


Posts recomendados

@vangodp

//NOME: FELIPE HOFFMEISTER PEREIRA
using namespace std;
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <fstream>
#include "biblioteca.h"
int memoria(ListaE &lista) {

    Produto *aux;
    aux = lista.inicio;
    char a[200];
    ifstream salvar;
    salvar.open("arquivo.txt");
    if(!salvar.is_open()) {
        cout<<"Arquivo.txt nao abriu";
        return 0;

    }



}
bool imprime(ListaE lista)
{
    Produto *aux = new Produto;

    aux = lista.inicio;


    while(aux != NULL )
    {
        cout<<"Codigo: "<<aux->Codigo<<endl;
        cout<<"Nome: "<<aux->Nome<<endl;
        cout<<"Preco: "<<aux->Preco<<endl<<endl;
        aux = aux->proximo;

    }
}

int armazena(ListaE &lista)
{
    Produto *aux;
    aux = lista.inicio;
    ofstream salvar;
    salvar.open("arquivo.txt");
    if(!salvar.is_open()) {
        cout<<"Arquivo.txt nao abriu";
        return 0;

    } else

        while(aux != NULL)
        {
            salvar <<aux->Codigo<<" ";
            salvar <<aux->Preco<<" ";
            salvar <<aux->Nome<<" \n";
            aux = aux->proximo;

        }
}

int inserir(ListaE &lista, Produto prod)
{

    cout<<"\t\tCodigo: ";
    cin>>prod.Codigo;
    cout<<"\t\tPreco: ";
    cin>>prod.Preco;
    cout<<"\t\tNome do produto: ";
    cin.ignore();
    getline(cin,prod.Nome);
    adiciona_item(lista,prod);



}

int buscar_lista(ListaE &lista, Produto prod)
{
    int codigo;
    cout<<"Digite o Codigo para a busca: ";
    cin>>codigo;
    Produto* produto_buscado = busca(lista.inicio,codigo);
    if(produto_buscado != NULL)
    {

        cout<<"Codigo: "<<produto_buscado->Codigo<<endl;
        cout<<"Nome: "<<produto_buscado->Nome<<endl;
        cout<<"Preco: "<<produto_buscado->Preco<<endl<<endl;
        return 1;
    }
    else
    {
        cout << "Nao existe esse produto"<<endl;
        return 0;
    }


}
int remover_lista(ListaE &lista, Produto prod)
{

    int codigo_remover;
    cout<<"Digite o Codigo para a remover: ";
    cin>>codigo_remover;

    if(!remover(lista,codigo_remover))
    {
        cout<<"Codigo invalido, ou a lista esta vazia"<<endl;

    }
    else
    {
        cout<<"Codigo: "<<codigo_remover<<" removido com sucesso"<<endl;
    }
}

void menu()
{

    system("color 0");
    cout<<"\t\tMercado "<<endl<<endl;
    cout<<"\t\tPRODUTOS"<<endl<<endl;
    cout<<"\t\t1 - Adicionar Produto"<<endl;
    cout<<"\t\t2 - Buscar Produto"<<endl;
    cout<<"\t\t3 - Remover Produto"<<endl;
    cout<<"\t\t0 - Sair"<<endl;

}

int main()
{

    ListaE lista;
    Produto prod;
    int escolha;


    inicializa_lista(lista);
    memoria(lista);

    do
    {
        system("color f1");
        menu();
        imprime(lista);
        cin>>escolha;

        if(escolha == 1)
        {

            system("cls");
            inserir(lista,prod);
            system("cls");
        }

        if(escolha == 2)
        {
            system("cls");
            buscar_lista(lista,prod);

        }
        if( escolha == 3)
        {
            system("cls");
            remover_lista(lista,prod);
        }

        if(escolha == 0) {



            armazena(lista);

        }
    }
    while (escolha != 0 );
    return 0;


}

 

adicionado 0 minutos depois
#ifndef BIBLIOTECA_H_INCLUDED
#define BIBLIOTECA_H_INCLUDED
#include <iostream>
using namespace std;


//estrutura do produto
struct Produto
{
    int Codigo;
    float Preco;
    string Nome;

    Produto *proximo;
};

//estrutura da lista
struct ListaE
{
    Produto *inicio;
};

//inicializa lista
bool inicializa_lista (ListaE &lista)
{
    lista.inicio = NULL;
}

bool adiciona_item(ListaE &lista,Produto prod)
{

    Produto *aux = new Produto;

    aux->Codigo = prod.Codigo;
    aux->Preco  = prod.Preco;
    aux->Nome   = prod.Nome;


    if(lista.inicio == NULL)
    {

        aux->proximo = NULL;
        lista.inicio= aux;

    }
    else
    {
        aux->proximo = lista.inicio;
        lista.inicio = aux;
    }
}

Produto* busca(Produto* aux, int codigo)
{

    if( aux == NULL)
    {
        return NULL;
    }
    else if(codigo == aux->Codigo)
    {
        return aux;
    }
    else {
        return busca(aux->proximo,codigo);
    }
}

bool remover(ListaE &lista, int remover)
{   Produto *atual;
    Produto *anterior;

    if(lista.inicio == NULL) {
        return 0;
    }
    else {
        atual = lista.inicio;
        anterior = atual;
        if(lista.inicio->Codigo == remover) {
            lista.inicio = lista.inicio->proximo;
            delete atual;
            return 1;

        }
        else

            while(atual != NULL)
            {

                if(atual->Codigo == remover) {
                    anterior->proximo = atual->proximo;
                    delete atual;
                    return 1;
                }
                else {
                    anterior = atual;
                    atual = atual->proximo;
                }



            }
        return 0;
    }
}

#endif // BIBLIOTECA_H_INCLUDED

@vangodp

adicionado 2 minutos depois

@vangodp eu estou conseguindo inserir no arquivo.txt mas inserir novamente na lista nao estou conseguindo

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