Realizar programa en C que ordene nombres desde archivo de texto.

Iniciado por Irving007, 12 Noviembre 2012, 04:09 AM

0 Miembros y 1 Visitante están viendo este tema.

Irving007

Hola, necesito hacer un programa en C que ordene algunos nombres leidos desde un archivo de texto .txt y los muestre en pantalla ordenados alfabeticamente.
Hice el programa pero leyendo los nombres desde teclado, no he conseguido ordenarlos desde el archivo de texto, ojala me ayuden, gracias.

Les dejo el programa que dice


#include <stdio.h>
#include <stdlib.h>

void main(void)
{
    char **cadena, *aux;
    int i, j, n;
    char temp[20];

    printf("Introduzca los cinco nombres:\n");
    cadena = (char**)malloc(5*sizeof(char*));
    for (i=0; i<5; i++) {
        printf("Nombre %d: ", i+1);
        //scanf(" %[^\n]", temp);
        scanf("%s", temp);
        cadena[i] = (char*)malloc((strlen(temp)+1)*sizeof(char));
        strcpy(cadena[i], temp);
    }

    for (i=0; i<4; i++)
        for (j=i+1; j<5; j++)
           if ((strcmp(cadena[i], cadena[j])) > 0) {
               aux = cadena[i];
               cadena[i] = cadena[j];
               cadena[j] = aux;
           }

    printf("La lista ordenada es:\n");
    for (i=0; i<5 ; i++)
        printf("%s\n", cadena[i]);
    system("PAUSE");
}


Ferno

¿Leiste algo de manejo de archivos?
Te recomiendo empezar por ahí!
En "El Lenguaje de Programacion C" hay un buen apartado sobre manejo de archivos.

Si sabes manejo de archivos, la verdad es que la diferencia entre el programa final y lo que hiciste acá es ínfima!

BlackZeroX

The Dark Shadow is my passion.