Leer números de un fichero - Programación C

jueves, 23 de septiembre de 2010

Esta semana seguimos con ejercicios de programación en C y ficheros. Para realizar este ejercicio, tendremos que haber realizado el ejercicio anterior, concretamente el ejercicio de guardar en un fichero de texto números en binario.

Ejercicio:
Después de leer una secuencia de números reales (como mucho 100) del fichero del ejercicio anterior, que los ordene y los saque por pantalla ordenados.

Sigue leyendo para ver la solución.



/******   Inicio programa ******/


#include <stdio.h>


main()

{

      FILE *Fd;

      char texto[30], fitxizen[30];

      float zenb,zbkiak[100],tmp;

      int i=0,j,k;


      printf("Mete el nombre del fichero del que cogeremos los numeros reales: ");

      gets(fitxizen);

      Fd=fopen(fitxizen,"rb");

      if (Fd==NULL)

         printf("Error abriendo el fichero");


      while (feof(Fd)==0)

      {
            fgets(texto,30,Fd);

            sscanf(texto,"%f",&zenb);

            zbkiak[i]=zenb;

            i++;
      }


      i=i-1; //hacemos i-1 ya que fgets pilla tambien la ultima linea y esa no nos interesa

      for (j=0;j<i;j++)

      {
          for (k=j+1;k<i;k++)

          {
              if(zbkiak[j]>zbkiak[k])

              {
                 tmp=zbkiak[k];

                 zbkiak[k]=zbkiak[j];

                 zbkiak[j]=tmp;

              }
          }
      }

      printf("Los numeros ordenados: \n");

      for (j=0;j<i;j++)

      {
          printf("%.2f \n",zbkiak[j]);
      }

      getchar();
}



/******   Fin programa******/

Artículos relacionados


Comments

3 Responses to “ Leer números de un fichero - Programación C ”
Post a Comment | Enviar comentarios ( Atom )

Anónimo dijo...

Hola, es la primera vez que comento aunque leo tu blog desde hace un tiempo.
Comento porque he visto en este codigo y en algunos anteriores que después de comprobar si el fichero a sido abierto solo muestras un mensaje de error pero el codigo continua, lo que provoca un fallo de segmentacion. No seria mejor que despues del printf salieras del programa con algun codigo de error?

23 de septiembre de 2010, 21:26

Buenas Anónimo. Sí, lo que comentas sería lo más recomendable.

Un saludo.

23 de septiembre de 2010, 21:30
Anónimo dijo...

Excelente ayuda... muchas gracias!!!

25 de noviembre de 2011, 23:41

Publicar un comentario en la entrada

Deja tu opinión realizando un comentario interesante. Cualquier intento de Spam no será admitido.