Ir ao conteúdo
  • Cadastre-se

Felipe Hoffmeister

Membro Pleno
  • Posts

    53
  • Cadastrado em

  • Última visita

Tudo que Felipe Hoffmeister postou

  1. você vai ter q fazer 3 while, faz um while pro cliente dentro dele faz um while pedido e dentro desse um while pros produtos
  2. o que você quer fazer? que eu não entendi direito voce tem que mudar algumas variáveis, está utilizando sempre float, float só servem para numeros com virgula, por exemplo qtd, nao exista 1.5 refrigerante, use o int
  3. @AsafeBernardoOficial voce tem que usar vetores
  4. To fazendo um trabalho de POO, e preciso utilizar um Qvector, estou utilizando a interface grafica do qt e não sei como passar o qvector como referencia
  5. Fazer um programa que permita a inclusão de um grafo (dirigido ou não dirigido), mostrando o Grafo (desenhado) ou a Matriz/lista de adjacências. O programa deve permitir: - Incluir ou excluir vértices e arestas/arcos a qualquer tempo - Fazer busca em Largura e Profundidade. Com opção de buscar algum elemento do grafo ou mostrar todos os vértices do grafo na ordem de visitação. - O ponto de inicio da busca deve ser informado pelo usuário.
  6. @vangodp a lista é o trabalho da facul, e os arquivos meu professor passou muito pouco, por isso estou com duvidas, mas obrigado
  7. @vangodp muito obrigado, me ajudou muito,queria que meu professor fosse assim
  8. @vangodp agora está funcionando certinho, o eof seria enquanto nao for o final do programa?
  9. @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
  10. @KXSY eu nao vou utilizar meu professor vai perguntar e eu nao vou saber responder, so estou com duvida no while acima
  11. @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?
  12. @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
  13. nao entendi algumas coisas como o rb+ e o wb+, e seu codigo esta em c o que eu tenho q mudar para c++?
  14. 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; };
  15. 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;
  16. @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
  17. @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
  18. @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
  19. mas eu ja postei adicionado 1 minuto depois #include <iostream> using namespace std; #include "agenda.h" #include <windows.h> #include <stdlib.h> #include "biblioteca.h" #define MAX 5 struct pessoa_juridica { int ID, CNPJ,Empresa, Tcomercial; string nome; int quantidade; }; struct pessoa_fisica { int ID, CPF,Cel; string nome; int quantidade; }; int main() { system("color 70"); int aux,aux2; Agenda<pessoa_fisica,5> A1; Agenda <pessoa_juridica,5> A2; pessoa_fisica a1; inicializa_agenda(A1); inicializa_agenda(A2); insere(A1,a1); do{ Infos(); cin>>aux; system("cls"); if(aux==1) { tipos(); cin>>aux2; system("cls"); if(aux2==1) { if( A1.quantidade<MAX){ cin.sync(); int i; i=verifica_pos(A1); cout<<"\tNOME: "; getline(cin, A1.itens[i].nome); cin.sync(); while(!geraID(A1,i)) { cout<<"\tID invalido"<<endl; } while(!geraCPF(A1,i)) { cout<<"\tCPF invalido"<<endl; } while(!geraCel(A1,i)) { cout<<"\tCelular invalido"<<endl; } A1.quantidade+=1; } else{ cout<<"A agenda atingiu o numero maximo"<<endl; } } if(aux2==2) { if( A1.quantidade<MAX){ cin.sync(); int i; i=verifica_pos(A2); cout<<"\tNOME DA EMPRESA: "; getline(cin, A1.itens[i].nome); cin.sync(); while(!geraID(A2,i)) { cout<<"\tID invalido"<<endl; } while(!geraCNPJ(A2,i)) { cout<<"\tCNPJ invalido"<<endl; } while(!geraEmpresa(A2,i)) { cout<<"\tNUMERO EMPRESARIAl invalido"<<endl; } A1.quantidade+=1; }} getch(); system("cls"); } if(aux==2){ tipos(); cin>>aux2; if(aux2==1){ pesquisar(A1); } } if(aux==3){ int id; cout<<"DIGITE O ID QUE DESEJA EXCLUIR: "; cin>>id; // remover(A1,id); // remover(A2,id); } if(aux==4){ mostrar(A1); mostrar2(A2); } }while(aux!=5); return 0; } #ifndef BIBLIOTECA_H_INCLUDED #define BIBLIOTECA_H_INCLUDED #include <iostream> using namespace std; #include <stdlib.h> #include <conio.h> template <typename TIPO, int MAX> struct Agenda { TIPO itens[MAX]; int quantidade; }; template <typename TIPO,int MAX> bool inicializa_agenda(Agenda <TIPO,MAX> &ag) { ag.quantidade = 0; return true; } template <typename TIPO,int MAX> int verifica_pos(Agenda <TIPO,MAX> &ag) { for(int i=0; i<MAX; i++) { if(ag.itens[i].ID==0) return i; } return false; } template <typename TIPO,int MAX> bool geraID(Agenda <TIPO,MAX> &ag,int a) { int ID; cout<<"\tID: "; cin>>ID; for(int i=0; i<MAX; i++) { if(ID==ag.itens[i].ID) return false; } ag.itens[a].ID=ID; return true; } template <typename TIPO,int MAX> bool geraCPF(Agenda <TIPO,MAX> &ag,int a) { int CPF; cout<<"\tCPF: "; cin>>CPF; for(int i=0; i<MAX; i++) { if(CPF==ag.itens[i].CPF) return false; } ag.itens[a].CPF=CPF; return true; } template <typename TIPO,int MAX> bool geraCel(Agenda <TIPO,MAX> &ag,int a) { int Cel; cout<<"\tCELULAR: "; cin>>Cel; for(int i=0; i<MAX; i++) { if(Cel==ag.itens[i].Cel) return false; } ag.itens[a].Cel=Cel; return true; } template <typename TIPO,int MAX> bool geraCNPJ(Agenda <TIPO,MAX> &ag,int a) { int CNPJ; cout<<"\tCNPJ: "; cin>>CNPJ; for(int i=0; i<MAX; i++) { if(CNPJ==ag.itens[i].CNPJ) return false; } ag.itens[a].CNPJ=CNPJ; return true; } template <typename TIPO,int MAX> bool geraEmpresa(Agenda <TIPO,MAX> &ag,int a) { int Empresa; cout<<"\tNUMERO EMPRESARIAL: "; cin>>Empresa; for(int i=0; i<MAX; i++) { if(Empresa==ag.itens[i].Empresa) return false; } ag.itens[a].Empresa=Empresa; return true; } template <typename TIPO,int MAX> int pesquisar(Agenda <TIPO,MAX> &ag) { int id; string name; int aux=0; cout<<"pesquisar pelo id digite 1"<<endl<<"pesquisar pelo nome digite 2"<<endl; cin>>aux; if(aux==1) { cout<<"Digite o id: "; cin>>id; for(int i=0; i<MAX; i++) { if(id==ag.itens[i].ID) { cout<<"NOME: "<<ag.itens[i].nome<<endl<<"CPF: "<<ag.itens[i].CPF<<endl<<"ID: "<<ag.itens[i].ID<<endl<<"Celular: "<<ag.itens[i].Cel<<endl; return 1; } } } else if(aux==2) { cout<<"Digite o nome: "; cin>>name; /* for(int i=0; i<MAX; i++) { if(name==ag.nome[i]) { cout<<"NOME: "<<ag.itens[i].nome<<endl<<"CPF: "<<ag.itens[i].CPF<<endl<<"ID: "<<ag.itens[i].ID<<endl<<"Celular: "<<ag.itens[i].Cel<<endl; return 1; } }*/ } cout<<"Codigo ou nome invalido"; return 0; } template <typename TIPO,int MAX> void mostrar(Agenda <TIPO,MAX> ag) { for(int i=0; i<MAX; i++) { if(ag.itens[i].ID!=0) { cout<<"NOME: "<<ag.itens[i].nome<<endl; cout<<"CPF: "<<ag.itens[i].CPF<<endl<<"ID: "<<ag.itens[i].ID<<endl<<"Celular: "<<ag.itens[i].Cel<<endl<<endl; } } } template <typename TIPO,int MAX> void mostrar2(Agenda <TIPO,MAX> ag) { for(int i=0; i<MAX; i++) { if(ag.itens[i].ID!=0) { cout<<"NOME: "<<ag.itens[i].nome<<endl; cout<<"CNPJ: "<<ag.itens[i].CNPJ<<endl<<"ID: "<<ag.itens[i].ID<<endl<<"TELEFONE EMPRESARIAL: "<<ag.itens[i].Empresa<<endl<<endl; } } } /*template <typename TIPO,int MAX> bool remover(Agenda <TIPO,MAX> &ag,int id) { for(int i=0; i<MAX; i++) { if(id==ag.itens[i].ID&&id!=0) { ag.itens[i].=0; ag.quantidade-=1; return true; } } return false; }*/ void Infos() { //abrir menu da agenda cout<<"\t\t** Agenda **"<<endl<<endl; cout<<"\t[1] - inserir um novo item na agenda"<<endl; cout<<"\t[2] - Procurar contato"<<endl; cout<<"\t[3] - remover um item da agenda"<<endl; cout<<"\t[4] - Mostrar todos os contatos"<<endl; cout<<"\t[5] - Sair"<<endl; cout<<"\t->"; } void tipos() { cout<<"\t\t** Agenda **"<<endl<<endl; cout<<"\n\t [1] - PARA PESSOA FISICA\n\t [2] - PARA PESSOA JURIDICA"<<endl; cout<<"\t->"; // MENU NA TELA } #endif // BIBLIOTECA_H_INCLUDED
  20. @arfneto meu professor quer que eu crie 2 agendas no main, e utilize uma as funcoes do main de forma generica, por exemplo: se eu quiser inserir algo no CPF seria igual inserir no ID, entendeu? adicionado 2 minutos depois eu tenho q fazer isso, • inicializar a agenda • inserir um item na agenda • remover um item da agenda • fazer uma pesquisa na agenda • A estrutura de itens e funções da biblioteca devem ter uma implementação única assumindo o tipo de contato de acordo com o parâmetro utilizando templates. e ele passou esse exemplo como base de como fazer template <typename TIPO, int MAX> bool insere(Agenda <TIPO,MAX> &ag, TIPO dado); ...
  21. #include <iostream> using namespace std; #include "agenda.h" #include <windows.h> #include <stdlib.h> #include "biblioteca.h" //DEFINE AS STRUCS DA AGENDA struct pessoa_juridica { int ID[5]= {}, CNPJ[5]= {},Empresa[5]= {}, Tcomercial[5]= {}; string nome[5]; int quantidade; }; //DEFINE AS STRUCS DA AGENDA struct pessoa_fisica { int ID[5]= {}, CNPJ[5]= {},Empresa[5]= {}, Tcomercial[5]= {}; string nome[5]; int quantidade; }; int main() { system("color 70"); Agenda <pessoa_juridica,5> A2; Agenda<pessoa_fisica,5> A1; inicializa_agenda(A1); insere(A1.itens,1); cout<<A1.ID; return 0; } #ifndef BIBLIOTECA_H_INCLUDED #define BIBLIOTECA_H_INCLUDED #include <iostream> using namespace std; #include <stdlib.h> #include <conio.h> template <typename TIPO, int MAX> struct Agenda { TIPO itens[MAX]; int quantidade; }; template <typename TIPO,int MAX> bool inicializa_agenda(Agenda <TIPO,MAX> &ag) { ag.quantidade = 0; return true; } template <typename TIPO,int MAX> bool insere(Agenda <TIPO,MAX> &ag,int a) { int ID; cout<<"\tID: "; cin>>ID; for(int i=0; i<MAX; i++) { if(ID==ag.ID[i]) return false; } ag.ID[a]=ID; return true; } #endif // BIBLIOTECA_H_INCLUDED
  22. estou fazendo um trabalho para a faculdade e preciso utilizar 1 struct generica na bibloteca e 2 "originais" no main, como eu utilizo? #include <iostream> using namespace std; #include "agenda.h" #include <windows.h> #include <stdlib.h> #include "biblioteca.h" template <typename TIPO, int MAX> //DEFINE AS STRUCS DA AGENDA struct pessoa_fisica { TIPO ID[MAX]= {}, CPF[MAX]= {}, Cel[MAX]= {}, CNPJ[MAX]= {},Empresa[MAX]= {}, Tcomercial[MAX]= {}; string nome[MAX]; int quantidade; }; template <typename TIPO, int MAX> //DEFINE AS STRUCS DA AGENDA struct pessoa_juridica { TIPO ID[MAX]= {}, CPF[MAX]= {}, Cel[MAX]= {}, CNPJ[MAX]= {},Empresa[MAX]= {}, Tcomercial[MAX]= {}; string nome[MAX]; int quantidade; }; int main() { return 0; } #ifndef BIBLIOTECA_H_INCLUDED #define BIBLIOTECA_H_INCLUDED #include <iostream> using namespace std; #include <stdlib.h> #include <conio.h> template <typename TIPO, int MAX> struct Agenda { TIPO itens[MAX]; int quantidade; }; template <typename TIPO,int MAX> //ZERA A AGENDA bool inicializa_agenda(Agenda <TIPO,MAX> &ag) { ag.quantidade = 0; return true; } } template <typename TIPO,int MAX> bool insere(Agenda <TIPO,MAX> &ag,int a) { TIPO ID; cout<<"\tID: "; cin>>ID; for(int i=0; i<MAX; i++) { if(ID==ag.ID[i]) return false; } ag.ID[a]=ID; return true; } #endif // BIBLIOTECA_H_INCLUDED
  23. @Flávio Pedroza estou com mais uma duvida, nao estou conseguindo receber mais variaveis depois de usar o getline(cin, ag.nome); tentei usar o fflush e nao funcionou template <typename TIPO,int MAX> void cadastrar1(Agenda <TIPO,MAX> &ag) { int pos; pos=verifica_pos(ag); cout<<"NOME: "; getline(cin, ag.nome[pos]); cout<<"ID: "; cin>>ag.ID[pos]; cout<<"CPF: "; cin>>ag.CPF[pos]; } .

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

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!