Ir ao conteúdo
  • Cadastre-se

Felipe Hoffmeister

Membros Plenos
  • Total de itens

    48
  • Registro em

  • Última visita

  • Qualificações

    N/D
  1. @vangodp a lista é o trabalho da facul, e os arquivos meu professor passou muito pouco, por isso estou com duvidas, mas obrigado
  2. @vangodp muito obrigado, me ajudou muito,queria que meu professor fosse assim
  3. @vangodp agora está funcionando certinho, o eof seria enquanto nao for o final do programa?
  4. @KXSY o while seria "enquanto der para adicionar faca adiciona_item"? e outra coisa se eu coloca o um nome com sobrenome quando eu salvo ele eu o perco
  5. @KXSY eu nao vou utilizar meu professor vai perguntar e eu nao vou saber responder, so estou com duvida no while acima
  6. @vangodp valeu cara, so me explica como funciona o comando perror? adicionado 8 minutos depois @vangodp consegue me explicar o que esta acontecendo neste while?
  7. @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
  8. nao entendi algumas coisas como o rb+ e o wb+, e seu codigo esta em c o que eu tenho q mudar para c++?
  9. @KXSY tem algum exemplo para me mostrar?
  10. Gostaria de saber como faço para inserir o que esta no meu arquivo na minha struct struct Produto { int Codigo; float Preco; string Nome; };
  11. Estou fazendo um trabalho em c++ de uma lista encadeada, e nao estou conseguindo acessar um ponteiro #ifndef BIBLIOTECA_H_INCLUDED #define BIBLIOTECA_H_INCLUDED #include <iostream> using namespace std; #include <stdlib.h> #include <conio.h> #include <string.h> //estrutura do produto struct Produto { int Codigo; float Preco; 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 *novo_item; Produto *aux; novo_item = &prod; cout<<lista.inicio<<endl; if(lista.inicio == NULL) { lista.inicio = novo_item; novo_item->proximo = NULL; } } #endif // BIBLIOTECA_H_INCLUDED o ponteiro no qual nao consigo acessar é novo_item->proximo = NULL;
  12. @arfneto A duvida que eu tenho e como fazer a funcao, pois eu fiz ja a agenda de uma forma que o meu professor disse q ta errado, na forma que eu fiz inserir algo no CPF por exemplo, tinha que ter uma funcao especifica para o CPF, a forma que ele quer seria como se tivesse uma funcao inserir e nela independente de qual itens que você tenha ela insere, você passa por parametro o CPF e dentro da funcao ela insere o cpf no local correto da mesma forma o id, cnpj etc, utlizando a mesam funcao
  13. @arfneto tenho sim , mais tem coisas no codigo que postou que eu nao entendo , como #pragma once e #include "PF.h" #include "PJ.h" adicionado 3 minutos depois @arfneto e outra coisa, a agenda é uma só, quando for inserir algo nela e pressionar 1 la dentro voce escolhe em qual tipo de agenda você insere, entre a pessoal e juridica adicionado 26 minutos depois @arfneto se você conseguir me ajudar somente em uma funcao, como na insere por ex, eu consigo fazer o resto pois estou com muita duvida no que meu professor pediu, na minha logica a funcao insere tem q inserir qualquer tipo de dado como cpf, cnpj, id etc independente de qual struct você tem, nao sei se isso é possivel e se for nao sei como fazer
  14. @arfneto nao consegui explicar de uma forma clara, eu preciso que a mesma funcao da biblioteca insira valores em diferentes dados , por exemplo inserir no CPF e no ID, Eu o que eu tenho que fazer para eu conseguir fazer isso adicionado 2 minutos depois @arfneto a struct agenda foi o professor que passou, nao fui eu quem criei vou lhe mostrar uma foto do enunciado do trabalho para ver se voce consegue entender e me ajudar

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

×
×
  • Criar novo...