Título: PROBLEMA CON FICHEROS :V Publicado por: CHETO1234 en 2 Enero 2016, 06:45 am Necesito que el programa cuente el número de líneas de un fichero (Se le pide la usuario que elija cual fichero), y que cuente el número de palabras PERO SOLO DE LA PRIMER LÍNEA .. Por fa, si alguien me ayuda corrigiéndolo TT. TT lo amaré eternamente xD
Código: #include <stdio.h> ignoren los "comentarios" pls :v El problema es qeu solo cuenta las lineas y las palabras ... se queda en 0 T.T Título: Re: PROBLEMA CON FICHEROS :V Publicado por: ivancea96 en 2 Enero 2016, 13:27 pm Ese bucle while, no sé si es lo que querías, pero cuidado al poner las llaves {} en if y while. Te recomiendo que las pongas.
Luego, esta condición: Código Cómo podría ser ch igual a ' ' y a la vez diferente a ' '? Replantea la condición. Título: Re: PROBLEMA CON FICHEROS :V Publicado por: furciorifa en 13 Enero 2016, 19:03 pm Tu error está en el while no le pusiste { } y sigue a la primer línea después de el while y sólamente la primer linea a continuación todo lo demás si lo querías dentro del while ya no se hace repetidamente si no una vez
Título: Re: PROBLEMA CON FICHEROS :V Publicado por: lfgmespino en 17 Enero 2016, 23:11 pm Te envío un código que sí funciona. Si solo quieres contar palabras en la primera línea, cambia el segundo if para que compruebe la condición (CP == 1).
#include <stdio.h> #include <stdlib.h> int main(int argc, char** argv) { FILE *archivo; int ch, CL, CP,i; char arch[25]; //printf("\nHoli! Dime el nombre archivo, incluyendo formato n.n:\n\n"); // gets(arch); //Para comprobar que exista el archivo :v if ((archivo = fopen("registroPersona.txt", "r")) == NULL){ perror(arch); return EXIT_FAILURE; } CL = 0; CP = 0; while ((ch = fgetc(archivo)) != EOF) { if (ch == '\n') CL++; if(ch == ' ' || ch == '\n') CP++; } fclose(archivo); printf("Numero de lineas en: %d\n",CL); printf("Cantidad de palabras: %d\n", CP); return EXIT_SUCCESS; } |