Búsqueda y recuento de palabras

Pablo Mateo Segura

/*Este programa busca y cuenta el número de veces que aparece
  una palabra en un archivo determinado */

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int contador (FILE *pg, char v[50]);

int main()
{
    char v[50], c, s[50];
    int p;
    printf("Introduce el nombre del archivo a examinar: ");
    scanf("%s", &v);
    FILE *pf;
    pf=fopen(v, "r");
    if(pf==NULL)
        printf("\nNo se ha localizado el archivo. \n\n");
    else
    {
     printf("\nIntroduce la palabra a buscar: ");
     scanf("%s", &s);

    p=contador(pf, s);

    switch(p)
    {
        case 1: printf("\nLa palabra sale una vez.\n\n"); break;
        case 0: printf("\nLa palabra no sale en el fichero.\n\n"); break;
        default: printf("\nLa palabra sale %d veces.\n\n", p);
    }

    fclose(pf);}
    return 0;
}

int contador (FILE *pg, char v[50])
{
    char c;
    int i=0, m=0, b;
    c=getc(pg);
    b=strlen(v);
    while(feof(pg)==0)
    {
        if(c==v[0])
        {
            for(i=0;i<b;i++)
            {   
                if(c==v[i])
                   c=getc(pg);
                else
                    break;                    
            }
            if(i==b) {m++;}
            c=getc(pg);
        }
        else
        {
            c=getc(pg);
        }
    }

    return m;
}

Esta entrada fue publicada en Informática e Internet. Guarda el enlace permanente.

Una respuesta a Búsqueda y recuento de palabras

  1. Habría que refinar algun detalle…Hay métodos mejores.

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s