/*
*                 A HUMILDADE PRECEDE A HONRA!
*
* PROGRAMA: ordena_string.c
* AUTOR: thiagoamm
* DATA: 20/01/06
* FUNCAO: Ler, ordenar e escrever strings.
*
* ==========================================================================
* OBS: O programa pode ser compilado no Windows. Para compila-lo
* com sucesso no Linux substitua a funcao fflush(stdin) por __fpurge(stdin)
* ===========================================================================
*/

/* Headers */
#include <stdio.h>
#include <string.h>

/* Modulo principal ou funcao de execucao */
int main(void)
{
  int i,j;
  char NOME[10][40], NOME_AUX[40];
  
  puts("\nListagem de nomes \n");
  
  /* Entrada dos dados */
  for (i = 0; i <= 9; i++)
  {
    printf("Digite o %2d.o nome: ",i + 1);
    fflush(stdin);
    fgets(NOME[i],40,stdin);
  }
  
  /* Ordenacao de strings */
  for (i = 0; i <= 8; i++)
  {
    for ( j = i + 1; j <= 9; j++)
    {
      if (strcmp(NOME[i],NOME[j]) > 0)
      {
        strcpy(NOME_AUX,NOME[i]);
        strcpy(NOME[i],NOME[j]);
        strcpy(NOME[j],NOME_AUX);
      }
    }
  }
  
  /* Apresentacao dos nomes */
  puts("");
  for (i = 0; i <= 9; i++)
  {
     printf("Nome: %2d --> %s",i + 1,NOME[i]);
  }   
  return(0);  
}
