Ejercicios : Realizar sumatorio de números de un archivo

El archivo propuesto por los ejercicios y practicas esta compuesto por filas y en cada fila un numero entre 1 y 5 y valor flotante a continuación.

Se plantea realizar un ejercicio o práctica de programación en el cual se solicita un numero por pantalla entre 0 y 5, si se teclea un valor de cero se sale del programa sin realizar ninguna acción, mientras que si teclea un valor entre 1 y 5 se ha de abrir un archivo, el cual esta compuesto por filas en el que cada fila hay un valor numérico entre 1 y 5 y un valor numérico flotante sobre el cual se ha de realizar el sumatorio del numero flotante siempre que el valor del primer numero coincida con el valor solicitado por pantalla.



La solución de los ejercicios que se plantean es la siguiente:

/*

  El siguiente ejercicio o practica de programación en lenguaje c, ha

  sido propuesto por un usuario del blog www.aprendoencasa.es, el ejercicio

  consiste en solicitar un numero por pantalla entre 0 y 5, si se teclea

  un valor de cero se sale de la practica de programación resuelta sin

  realizar ninguna acción mientras que si se teclea un valor entre 1 y 5

  se ha de abrir un archivo en el cual esta compuesto por filas en el que

  cada fila hay un  valor numero entre 1 y 5 y un valor numérico flotante

  el cual se ha de realizar una suma de todos los valores que coincidan con

  el valor solicitado por pantalla. De nuevo agradecer a todos los usuarios

  los ejercicios y practicas de programación propuestas y las visitas realizadas

  a este vuestro blog www.aprendoencasa.com

*/

// Librerías a utilizar por el programa

#include <stdio.h>

#include <stdlib.h>

int main(int argc, char *argv[])

{

  // Variables a utilizar

  int NumeroLeer = 0;

  float NumeroSumar =0.0;

  int NumeroPedir = 0;

  FILE *FicheroLectura;

  int BanderaExiste = 0;

  float SumaNumeros = 0.0;

  // Solicitar el numero del cual se quiere realizar el sumatorio

  // los números validos serán entre 1 y 5 siendo 0 el valor de salida

  // del programa. En caso de introducir un numero erróneo volver a solicitar

  // el mismo por pantalla.

  do {

      printf("\nNumero ...: ");

      scanf(" %d",&NumeroPedir);

      if(NumeroPedir<0 || NumeroPedir>5) {

        printf("\n!Error en la entrada del numero. (0 a 5)!\n");

      }

  } while(NumeroPedir<0 || NumeroPedir>5);

  // Si el numero introducido no es cero y es un valor correcto entre 1 y 5

  // se abrirá el archivo de datos para leer el fichero con los números

  // y realizar el sumatorio que plantea el ejercicio o practica

  FicheroLectura = fopen("datos.dat","r");

  if(!FicheroLectura) {

    printf("\n!Error en la apertura del archivo. Compruebe los datos");

  } else {

         // El fichero se ha abierto correctamente y por tanto se procede

         // a recorrer el mismo buscando si existe un numero coincidente

         // con el dato y realizando la suma. Se utiliza la variable

         // bandera para saber si hay alguna aparición del numero especificado

         // en la practica o ejercicio de programación en c

         BanderaExiste = 0;

         SumaNumeros = 0.0;

         // Se realiza una prelectura

         fscanf(FicheroLectura,"%d %f",&NumeroLeer,&NumeroSumar);

         while(!feof(FicheroLectura)) {

              // Se ha encontrado el numero y se realiza la suma

              // correspondiente

              if(NumeroPedir == NumeroLeer) {

                 SumaNumeros += NumeroSumar;

                 BanderaExiste = 1;

              }

              // Leer el siguiente registro

              fscanf(FicheroLectura,"%d %f",&NumeroLeer,&NumeroSumar);

         }

         // Se cierra el archivo

         fclose(FicheroLectura);

         // Si bandera existe es que el numero existía en el archivo

         // y por tanto se ha realizado un sumatorio que se visualiza

         if(BanderaExiste==1) {

           printf("\nEl Sumatorio del %d es igual a %.2f\n\n",NumeroPedir,SumaNumeros);

         } else {

           printf("\nEl numero no se ha encontrado en el archivo..\n\n");

         }

  }

  system("PAUSE");

  return 0;

}

Teniendo en cuenta que el archivo de datos se ha de llamar «datos.dat» y estar situado en el mismo directorio donde se encuentra el programa. Se ha creado un archivo con los siguientes datos.

Ejercicios en C, sumatorio de números de un archivo.

Ejercicios en C, sumatorio de números de un archivo.

Y el resultado del ejercicio o práctica, ha de mostrar una solución similar a la que se muestra a continuación.

Prácticas en C, sumatorio de números de un archivo.

Prácticas en C, sumatorio de números de un archivo.

Gracias por vuestra visita y un saludo!!!