Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Ajuda! com Ordenação


Justiceira

Pergunta

Usei o Device,o problema é que não esta ordenando tudo só os nomes preciso que tudo seja ordenado junto

#include<stdio.h>
#include<stdlib.h>
#include <string.h>
#define MAX 10

/*******************
  Definição do Registro
*/
struct registro {
    int codlivro;
    char nomelivro[30];
    float preço;
    int quant;
};

  struct registro tabela[MAX];
  
  void preenche_tabela()
            {
             int i;
             char strnum[30];
            

             for(i=0;i<MAX;i++)
              {
                 printf("\n\n        Registro %d      ",i);
                 printf("\n\nCodigo do Livro : "); 
                 gets(strnum);
                 tabela[i].codlivro = atoi(strnum);
                 
                 printf("\nNome do Livro : "); 
                 gets(tabela[i].nomelivro);
                 
                 printf("\nPreco : "); 
                 gets(strnum);
                 tabela[i].preço = atof(strnum);
                 
                 printf("\nQuantidade : "); 
                 gets(strnum);
                 tabela[i].quant = atoi(strnum);
              }
           }
           
           void ordenar_tabcod()
           {
               int codlivro_aux;
               char nomelivro_aux[30];
               float preco_aux;
               int quant_aux;
               int i,j;

            for(i=0;i<=MAX-1;i++)
                for(j=i+1;j<MAX;j++)
                {
                    if(tabela[i].codlivro>tabela[j].codlivro)
                    {
                        strcpy(nomelivro_aux,tabela[i].nomelivro);
                                codlivro_aux,tabela[i].codlivro;
                                preco_aux,tabela[i].preço;
                                quant_aux,tabela[i].quant;

                        strcpy(tabela[i].nomelivro,tabela[j].nomelivro);
                               tabela[i].codlivro=tabela[j].codlivro;
                               tabela[i].preço=tabela[j].preço;
                               tabela[i].quant=tabela[j].quant;

                        strcpy(tabela[j].nomelivro,nomelivro_aux);
                               tabela[j].codlivro=codlivro_aux;
                               tabela[j].preço=preco_aux;
                               tabela[j].quant=quant_aux;
                    }
                }
           }

            void exibe_tabela()
           {
                int i;
                
                for(i=0;i<MAX;i++){
                  printf("\n\n        Registro %d      ",i);
                  printf("\nCodigo do Livro : %d\n",tabela[i].codlivro);
                  printf("Nome do Livro : %s\n",tabela[i].nomelivro);
                  printf("preço : %.2f\n",tabela[i].preço);
                  printf("Quantidade: %d\n\n",tabela[i].quant);
                 }
           }
           
main (){
     
     preenche_tabela();
     ordenar_tabcod();
     exibe_tabela();
     system ("pause");
}

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...