-
Posts
53 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por Felipe Hoffmeister
-
-
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
-
@AsafeBernardoOficial voce tem que usar vetores
-
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
-
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.- 1
-
@vangodp a lista é o trabalho da facul, e os arquivos meu professor passou muito pouco, por isso estou com duvidas, mas obrigado
- 1
-
@vangodp muito obrigado, me ajudou muito,queria que meu professor fosse assim
-
@vangodp agora está funcionando certinho, o eof seria enquanto nao for o final do programa?
-
@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
-
@KXSY eu nao vou utilizar meu professor vai perguntar e eu nao vou saber responder, so estou com duvida no while acima
-
-
//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
adicionado 2 minutos depois@vangodp eu estou conseguindo inserir no arquivo.txt mas inserir novamente na lista nao estou conseguindo
-
nao entendi algumas coisas como o rb+ e o wb+, e seu codigo esta em c o que eu tenho q mudar para c++?
-
@KXSY tem algum exemplo para me mostrar?
-
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; };
-
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 = ∏ 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;
- 1
-
Entendi obrigado
-
@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
-
@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
-
@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
-
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
-
@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 depoiseu 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); ...
- 1
-
#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
-
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
- 1
-
@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]; }
.
- 1
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
Com faço para realizar vários pedidos?
em C/C#/C++
Postado
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