Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Gabriel GP

Ajuda em ordenação de vetor C

Recommended Posts

Eai galera, bom tenho q fazer um programa e em uma função preciso ordernar em ordem crescente os produtor de maior estoque. 

 

Tipo eu fiz uma ordenação pelo método da bolha, ele ordenada certinho, mas eu quero que ele mostre o nome do produto também 

só que ele ordena só o estoque e o nome não... não sei como ajeita isso ae =/ : 

 

int ordena_b(){ //função para ordenar os brinquedos por ordem crescente de estoque(bolha)int i, j, crescente;system ("cls");for (i=0; i<TAM; i++)                     for (j=i+1; j<TAM; j++){if(estoque[i]>estoque[j]){crescente=estoque[i];estoque[i]=estoque[j];estoque[j]=crescente;}}printf ("\nBrinquedos em ordem crescente de estoque: \n");for (i=0; i<TAM; i++)printf ("Nome do brinquedo: %s Quantidade em estoque: %d \n", nome_brinquedo[i], estoque[i]);system ("pause");return 0;}

E aqui é o programa, basicamente ja pronto ......

 

#include <stdio.h>#include <stdlib.h>#include<string> #define TAM 3char nome_brinquedo[TAM][50];int estoque[TAM];int preco[TAM];int cod[TAM];int op;void cadastra_brinquedos();void venda_brinquedos();int ordena_b();void venda_brinquedos(){ //função de venda de brinquedos e controle de estoque int codigo=0,i,qtd=0,resposta;system("cls");system ("color F");do{printf ("\nInforme o codigo do brinquedo que a venda foi efetuada: ");scanf("%d", &codigo);for (i=0;i<=TAM;i++){if (codigo!=cod[i]){ //verifica se o código informado não esta cadastradoprintf("\n\t\tCODIGO NAO CADASTRADO\n"); }if(codigo==cod[i]){ //verifica se o código informado esta cadastrado.if(estoque[i]==0){ //se o estoque for zero ele mostrara uma mensagem com "estoque em falta"printf ("\n\t\tESTOQUE EM FALTA\n");break;}elseprintf("O brinquedo esta cadastrado. Total em estoque: %d\n",estoque[i]);printf ("Informe a quantidade a ser vendida: ");scanf ("%d", &qtd);if (qtd==estoque[i]){ //se a quantidade a for igual ao estoque a venda é concluida e o estoque recebe zero.printf ("\n\t\tVENDA CONCLUIDA\n");estoque[i]=0;break;}if (qtd<estoque[i]){ //Se a quantidade a ser vendida for menor que o estoque, a venda é concluidaprintf("\n\t\tVENDA CONCLUIDA\n");estoque[i]=(estoque[i]-qtd);break; //Aqui ele diminui a quantidade vendida do total do estoque.  }if (qtd>estoque[i]){  // (Se a quantidade for maior que o estoque ele deve informar uma mensagem igual essa de baixo)      printf("\nA quantidade informada e superior ao estoque. \nDeseja comprar todo o estoque? 1 para SIM 0 para NAO \n");       scanf("%d",&resposta);        if (resposta==1){ //se a resposta for 1 (sim) ele conclui a venda e o estoque recebe zero        estoque[i]=0;        printf("\n\t\tVENDA CONCLUIDA\n");        break;                  }                  if(resposta==0);// se a resposta for 0 (nao) ele não vende nada e o estoque continua como está.               estoque[i]=estoque[i];  break;      }     }}printf("\n\n\tDigite 1 para continuar ou 0 para voltar para o MENU \n");scanf ("%d",&op);}  while(op==1);}int ordena_b(){ //função para ordenar os brinquedos por ordem crescente de estoque(bolha)int i, j, crescente;system ("cls");for (i=0; i<TAM; i++)                     for (j=i+1; j<TAM; j++){if(estoque[i]>estoque[j]){crescente=estoque[i];estoque[i]=estoque[j];estoque[j]=crescente;}}printf ("\nBrinquedos em ordem crescente de estoque: \n");for (i=0; i<TAM; i++)printf ("Nome do brinquedo: %s Quantidade em estoque: %d \n", nome_brinquedo[i], estoque[i]);system ("pause");return 0;}void cadastra_brinquedos(){static int linha;system("cls");system ("color F");do{printf("\n\tNome do brinquedo: ");scanf("%s", &nome_brinquedo[linha]);printf ("\tCodigo: ");scanf("%d",&cod[linha]);printf("\tValor: ");scanf ("%d", &preco[linha]);printf("\tQuantidade no estoque: ");scanf("%d", &estoque[linha]);printf("\t\n\nDigite 1 para continuar ou 0 para voltar ao menu ");scanf ("%d",&op);linha++;system ("cls");}while(op==1);}             void sai(){      system("color A");      system("cls");      printf("\n");      printf("\t\t FIM \n");      printf("\n");      system("pause"); exit(1);}main (){     char menu;     int s;     system("color D");     while((menu>0)||(menu<7)){      system("cls");      system("color D");        printf ("\n\t\tMENU DO PROGRAMA - FABRICA DE BRINQUEDOS\n\n\n");printf("\n");printf ("\n \tEscolha o que deseja fazer: \n");printf ("\n\n\t[1] : Incluir brinquedo\n");printf("\t[2] : Venda de brinquedo\n");printf("\t[3] : Listar 5 brinquedos mais vendidos\n");printf("\t[4] : Listar 5 brinquedos menos vendidos\n");printf("\t[5] : Listar os brinquedos em ordem crescente de estoque\n");printf("\t[6] : Sair do programa\n");scanf ("%c",&menu);switch (menu){case '1':cadastra_brinquedos();break;case '2':venda_brinquedos();break;case '5':ordena_b();break;case '6':         sai();         }         }}

agradeço quem puder me dar uma luz ae xD Valeuw[]'s

 
     

Sou meio novo ainda nisso, desculpe se tiver meio confuso o código :S

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






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

×