Ejercicios : Contar palabras y caracteres de un fichero de texto…

La práctica o ejercicios con solución que se propone es realizar un ejercicio en el cual se ha de solicitar un fichero de texto por pantalla y a continuación leer cuantas palabras de x caracteres tiene el fichero que se ha leído.



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

/*
    Se quiere realizar un ejercicio o práctica de
    programación que lea un archivo de texto y ofrezca
    estadisticas sobre cuantas palabras de 1,2,3,4 y mas
    de 4 letras hay en el texto, no se tendran en cuenta
    los espacios en blanco como palabra.
    Este ejercicio o práctica planteado por un usuario
    del blog www.aprendoencasa.com es para que podais
    aprender conceptos de programación en lenguaje c
    y para que podais tener un lugar de consulta en
    www.aprendoencasa.com
    Vuelvo a recordar que no es la única forma de plantear
    el programa, y por tanto siempre podeis enviar vuestras
    opiniones o mejoras, las cuales en aprendoencasa.com
    estare encantado de editarlas y publicarlas.
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
    // Variables a utilizar
    char NombreFichero[60];
    FILE *Fichero;
    char Linea[260];
    char Contadores[50];
    int cuantos;
    // Se inicializan los contadores a cero
    for(cuantos=0;cuantos<50;cuantos++) Contadores[cuantos]=0;
    // Se solicita el nombre de archivo
    printf("Nombre de archivo....: ");
    scanf(" %s",NombreFichero);
    // Se intenta la apertura del archivo
    Fichero = fopen(NombreFichero,"rb");
    // Si no existe el fichero se visualiza un error
    // y no se hace nada
    if(!Fichero) {
        printf("\nEl archivo no existe o no se puede abrir...");
    } else {
        // El fichero se ha abierto correctamente y se procede
        // leer el mismo linea a linea. Se considera una linea
        // con un maximo de 255 caracteres.
        // mientras no sea final de fichero
         while(!feof(Fichero)) {
            // se lee una palabra del archivo
            fscanf(Fichero,"%s",Linea);
            Contadores[strlen(Linea)]++;
         }
         // se visualizan las estadisticas
         for(cuantos=1;cuantos<50;cuantos++) {
            if(Contadores[cuantos]!=0)
                printf("\nNo. de palabras de %d letra/s = %d",cuantos,Contadores[cuantos]);
         }
    }
    return 0;
}

 

El resultado del programa en ejecución es el siguiente:

Ejercicio en C, contar palabras de un fichero.

Ejercicio en C, contar palabras de un fichero.

Gracias por vuestra visita y un saludo!!!