Ir para conteúdo
Fórum Script Brasil

dmendes40

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Tudo que dmendes40 postou

  1. Boa Tarde a todos, não encontro o erro desse programa, na hora de cadastrar ele trava, após a inserção do ultimo dado do cadastro. Objetivo: Criação de Hashtable implementada por Lista Ligada com opção busca na hashtable #include<iostream> #include<math.h> using namespace std; typedef struct produto { int codigo; char descricao[20]; int quantidade; int fornecedor; float precoCusto; float precoVenda; } Produto; typedef struct lista { Produto *ponteiro; lista *proximo; } Lista; struct lista inserirProdutoNaLista(Produto *p1, Lista *l1) { Lista *auxLista; *auxLista = *l1; cout<<p1->codigo; if(auxLista == NULL) { auxLista->ponteiro = p1; auxLista->proximo = NULL; } else { auxLista->ponteiro = p1; *(auxLista->proximo) = *l1; } *l1 = *auxLista; return *l1; } void busca(Lista l1, int codigo) { Lista *auxLista; *auxLista = l1; Produto *auxProduto; *auxProduto = *(auxLista->ponteiro); while (auxLista != NULL && auxProduto->codigo != codigo) { *auxLista = *(auxLista->proximo); *auxProduto = *(auxLista->ponteiro); if(auxLista == NULL) { cout<<"Elemento não encontrado!\n"; } else { if(auxProduto->codigo == codigo) { cout<< auxProduto->codigo << "\t" << auxProduto->descricao << "\t" << auxProduto->quantidade << "\t" << auxProduto->fornecedor << "\t" << auxProduto->precoCusto << "\t" << auxProduto->precoVenda; cout<<"\n"; } } } } int main() { Lista *l1 = new Lista [7]; l1 = NULL; Produto *auxProduto = new Produto; Lista *auxLista; int hash,opcao,codigo; do { //Limpando a tela system("cls"); //Imprimindo o menu printf("Escolha um opcao: \n"); printf(" 1 - Inserir um produto.\n"); printf(" 2 - Buscar um produto pelo codigo.\n"); printf(" 3 - Sair do Programa.\n"); //usuario escolhe a opcao printf("\nOpcao: "); scanf("%d", &opcao); //verifica a opcao selecionada switch(opcao) { case 1: cout<< "\nDigite o codigo do produto: "; cin>>auxProduto->codigo; cout<< "Digite o descricao do produto: "; cin>>auxProduto->descricao; cout<< "Digite o quantidade de produtos: "; cin>>auxProduto->quantidade; cout<< "Digite o fornecedor do produto: "; cin>>auxProduto->fornecedor; cout<< "Digite o preço de custo do produto: "; cin>>auxProduto->precoCusto; cout<< "Digite o preço de venda do produto: "; cin>>auxProduto->precoVenda; hash = auxProduto->codigo % 7; *auxLista = l1[hash]; l1[hash] = inserirProdutoNaLista(auxProduto,auxLista); break; case 2: cout<<"Digite o codigo que deseja procurar: "; cin>>codigo; hash = codigo % 7; *auxLista = l1[hash]; busca(*auxLista,codigo); break; case 3: printf("\nFim do programa!!!\n"); break; default: printf("\nOpcao invalida!\n"); } cin.sync(); cin.get(); } while (opcao != 3); }
×
×
  • Criar Novo...