Enunciado del ejercicio resuelto de programación en C++: realizar un programa que pida un fichero (ruta y nombre) y muestre el número de palabras que dicho fichero contiene. Limpiar la pantalla antes de pedir el fichero al usuario y pausar el programa al finalizar hasta que el usuario pulse una tecla.
Solución: el código fuente completo del ejercicio resuelto en C++ será:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
#include <stdio.h> #include <cstdlib> #ifdef _WIN32 #include<windows.h> #endif void limpiarPantalla (); int main (void) { char c, rutaFichero[255]; int dentroPalabra = 0, numeroPalabras = 0; FILE *fichero; limpiarPantalla (); printf ("\nIntroduzca la ruta y nombre del fichero y pulse INTRO:\n"); scanf (" %[^\n]", rutaFichero); fichero = fopen(rutaFichero, "r+"); while ((c = getc(fichero)) != EOF) { if (((c >= 'a') && (c <= 'z')) || ((c >= 'A') && (c <= 'Z'))) { if (dentroPalabra==0) { numeroPalabras += 1; dentroPalabra = 1; } } else if (dentroPalabra == 1) dentroPalabra = 0; } printf("\n\nEl número de palabras del fichero es: %d\n\n", numeroPalabras); system("PAUSE"); return 0; } void limpiarPantalla () { #ifdef _WIN32 system("cls"); #else system("clear"); #endif } |
Si compilamos el programa (siguiendo las instrucciones de este tutorial), nos pedirá que introduzcamos la ruta y nombre del fichero, la introduciremos y pulsaremos INTRO. El programa leerá el fichero y contará el número de palabras que contiene, mostrándolo por pantalla: