Contar palabras
Estoy haciendo un programa en c, en un principio los requerimientos furon
1.- Abrir un archivo
2.- Contar cuantas ¨;¨ hay
3.- Contar cuantas ¨}¨ hay
Después cambiaron los requerimientos a los siguiente:
Todos pasos del 1 al 3
4 .- Contar cuantos ¨if¨ hay
5.- Contar cuantos ¨while¨ hay
Aquí el reto es utilizar el primer código y mi problema es que no puedo lograr
almacenar palabras para después compararlas, lo complicado es que tengo que reutilizar
el código siguiente el cual hace los primeros 3 pasos:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
FILE *archivo;
int c;
int contador=0;
int contador2=0;
int contador3=0;
char nombre[25];
char *arreglo[4];
int i;
arreglo[0] = strdup("if");
arreglo[1] = strdup("for");
arreglo[2] = strdup("while");
arreglo[3] = strdup("else");
printf("Ingrese el nombre del archivo\n");
printf("No olvide poner su extencion \n");
printf("Por ejemplo algo.txt\n\n\n");
scanf("%s",nombre); //El usuario ingresa el nombre
archivo = fopen(nombre, "r"); //Abrimos el archivo
if (archivo == NULL) //En caso de que no exista el archivo
{
printf("El archivo no existe \n");
exit (EXIT_FAILURE);
}
else
{
while (c!=EOF)
{
c = getc(archivo); // Obtiene un caracter del archivo
putchar(c); // Lo despliega en pantalla y continua..
if (c==59) // valor Accii del punto y coma ";"
{
contador++;
}
if (c==125)
{
contador2++;
}
if(c==32||c==10) //Contador de palabras
{
contador3++;
}
}
fclose(archivo); // Cerramos el Archivo de texto
printf("\n\n\n\n El numero de Lineas que termina en ; es: %d",contador);
printf("\n El numero de Lineas que terminan en } %d",contador2);
printf("\n El numero de Palabras es: %d",contador3);
return EXIT_SUCCESS;
}
}
1.- Abrir un archivo
2.- Contar cuantas ¨;¨ hay
3.- Contar cuantas ¨}¨ hay
Después cambiaron los requerimientos a los siguiente:
Todos pasos del 1 al 3
4 .- Contar cuantos ¨if¨ hay
5.- Contar cuantos ¨while¨ hay
Aquí el reto es utilizar el primer código y mi problema es que no puedo lograr
almacenar palabras para después compararlas, lo complicado es que tengo que reutilizar
el código siguiente el cual hace los primeros 3 pasos:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
FILE *archivo;
int c;
int contador=0;
int contador2=0;
int contador3=0;
char nombre[25];
char *arreglo[4];
int i;
arreglo[0] = strdup("if");
arreglo[1] = strdup("for");
arreglo[2] = strdup("while");
arreglo[3] = strdup("else");
printf("Ingrese el nombre del archivo\n");
printf("No olvide poner su extencion \n");
printf("Por ejemplo algo.txt\n\n\n");
scanf("%s",nombre); //El usuario ingresa el nombre
archivo = fopen(nombre, "r"); //Abrimos el archivo
if (archivo == NULL) //En caso de que no exista el archivo
{
printf("El archivo no existe \n");
exit (EXIT_FAILURE);
}
else
{
while (c!=EOF)
{
c = getc(archivo); // Obtiene un caracter del archivo
putchar(c); // Lo despliega en pantalla y continua..
if (c==59) // valor Accii del punto y coma ";"
{
contador++;
}
if (c==125)
{
contador2++;
}
if(c==32||c==10) //Contador de palabras
{
contador3++;
}
}
fclose(archivo); // Cerramos el Archivo de texto
printf("\n\n\n\n El numero de Lineas que termina en ; es: %d",contador);
printf("\n El numero de Lineas que terminan en } %d",contador2);
printf("\n El numero de Palabras es: %d",contador3);
return EXIT_SUCCESS;
}
}
1 respuesta
Respuesta de estrujones
1