Ir ao conteúdo
  • Cadastre-se

Vinícius_dos_Santos_Alves

Membro Júnior
  • Posts

    2
  • Cadastrado em

  • Última visita

Reputação

2
  1. Olá, gostaria de uma ajuda em listar o os produtos em um estoque em ordem alfabética pelo nome. Alguém poderia me ajudar. Código abaixo. #include<iostream> #include<string.h> #include<stdlib.h> using namespace std; int escolha,cont,cadastro = 0; struct produto{ char nome[100]; char tipo[50]; double valor; char local_estoque[50]; char identificador_produto[10]; long int quantidade_estoque; }; struct produto x[100]; struct produto informacoes_produto(){ char nproduto[20]; char vproduto[20]; cout<<"-> Adicao de Produtos ao Estoque"<<endl; cout<<endl; cadastro_erro: cout<<"NOME DO PRODUTO:"<<endl; cin>>x[cadastro].nome; cout<<"TIPO DE PRODUTO:"<<endl; cin>>x[cadastro].tipo; valor_erro: cout<<"VALOR DO PRODUTO:"<<endl; cin>>vproduto; bool verificacaovalor = true; for(int i=0;i < strlen(vproduto);i++) if(!isdigit(vproduto[i])&& vproduto[i] != '.'){ verificacaovalor = false; break; } if(verificacaovalor) x[cadastro].valor = atof(vproduto ); else{ cout<<"Valor invalido! Tente novamente.\n"<<endl; goto valor_erro; } cout<<"LOCAL DISPONIVEL NO ESTOQUE:"<<endl; cin>>x[cadastro].local_estoque; cout<<"CODIGO DO PRODUTO:"<<endl; cin>>x[cadastro].identificador_produto; quantidade_erro: cout<<"QUANTIDADE ENCONTRADA NO ESTOQUE:"<<endl; cin>>nproduto; bool verificacaoquantidade = true; for(int i = 0; i<strlen(nproduto);i++) if(!isdigit(nproduto[i])){ verificacaoquantidade = false; break; } if(verificacaoquantidade) x[cadastro].quantidade_estoque = atoi(nproduto); else{ cout<<"Localidade Indisponivel! Tente novamente!"<<endl; cout<<endl; goto quantidade_erro; } cadastro++; cout<<"Operacao Finalizada com Sucesso ! Deseja realizar mais uma operacao :"<<endl; cout<<"1-SIM"<<endl; cout<<"2-não"<<endl; endcadastroerro: cin>>escolha; switch(escolha){ case 1: system("clear||cls"); goto cadastro_erro; case 2: cout<<"Adicao Realizada!"<<endl; cout<<""<<endl; system("clear||cls"); break; default: cout<<"Erro na Operacao!Tente novamente."; goto endcadastroerro; } } void listagem(); void listagem(){ cout<<"Lista de Produtos do Estoque"<<endl<<endl; char aux[50]; for(int i = 0;i<cadastro;i++){ for(int j = 0;i<cadastro;j++){ int r = strcmp(x[i].nome,x[j].nome); if(r>0){ strcpy(aux,x[i].nome); strcpy(x[i].nome,x[j].nome); strcpy(x[j],aux); } } cout<<"Nome:"<<x[i].nome<<endl; cout<<"Classe:"<<x[i].tipo<<endl; cout<<"Valor:"<<x[i].valor<<endl; cout<<"Localidade:"<<x[i].local_estoque<<endl; cout<<"Codigo:"<<x[i].identificador_produto<<endl; cout<<"Quantidade:"<<x[i].quantidade_estoque<<endl; cout<<endl; } } void busca(); void busca(){ cout<<"Busca de Produto do Estoque"<<endl; char busca[100]; cout<<"Insira o nome ou o codigo do produto desejado."<<endl; cin>>busca; for(int i = 0;i<cadastro;++i){ if((strcmp(busca,x[i].nome)==0)||(strcmp(busca,x[i].identificador_produto)==0)){ cout<<"Produto Encontrado"<<endl<<endl; cout<<"Nome:"<<x[i].nome<<endl; cout<<"Classe:"<<x[i].tipo<<endl; cout<<"Valor:"<<x[i].valor<<endl; cout<<"Localidade:"<<x[i].local_estoque<<endl; cout<<"Codigo:"<<x[i].identificador_produto<<endl; cout<<"Quantidade:"<<x[i].quantidade_estoque<<endl; cout<<endl; }else{ cout<<"Produto não encontrado! Tente um nome ou um codigo valido."<<endl<<endl;} } cout<<"Pressione ENTER para realizar outra operacao."<<endl; getchar(); } void remocao(); void removprod(); void remocao(){ cout<<"Remocao do Produto"<<endl; cont = 0; char codigo_produto[10]; cout<<"Insira o codigo do produto que voce deseja excluir"<<endl<<endl; listagem(); cout<<"Codigo do Produto:"; cin>>codigo_produto; for(int i = 0; i<cadastro;++i){ if(strcmp(codigo_produto,x[i].identificador_produto)==0){ for(int k = i; k<cadastro;++k){ x[k]=x[k+1]; } cadastro--; cont++; break; } } if(cont>0){ cout<<"Produto removido"<<endl; cout<<"Pressione ENTER para avancar no processo"<<endl; getchar(); }else{cout<<"Codigo não encontrado ou invalido"<<endl; cout<<"Pressione ENTER para avancar no processo"<<endl; getchar(); } } int main(){ cout<<"CONSULTA DE ESTOQUE\n"<<endl; cout<<endl; inicio_do_programa: cout<<"Insira um numero referente a sua escolha"<<endl; cout<< "1 - Adicao de Produtos"<<endl<<"2 - Remocao de Produtos"<<endl<<"3 - Busca por Produtos"<<endl<<"0 - Sair do programa"<<endl; cin>>escolha; cout<<endl; switch (escolha){ case 0 : cout<<"Encerrando o programa. Adeus."<<endl; return 0; default: case 1: system("cls"); informacoes_produto(); goto inicio_do_programa; case 2: system ("cls"); remocao(); getchar(); system("cls"); goto inicio_do_programa; case 3: system("cls"); busca(); getchar(); system("cls"); goto inicio_do_programa; case 4 : system("cls"); cout<<"Listagem de Produtos no Estoque"<<endl; cout<<endl; listagem(); cout<<"Pressione ENTER para retornar ao Menu Inicial"<<endl; getchar(); getchar(); system("clear||cls"); goto inicio_do_programa; cout<<"Erro na processo. Insira uma opcao permitida."<<endl; cout<<endl; goto inicio_do_programa; } return 0; }

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!