Este programa es una versión primitiva del comando wc de unix, el cual, entre otras cosas, cuenta las líneas, las palabras y los caracteres de un archivo. El cuadro siguiente muestra el resultado de ejecutar este programa con su mismo código como entrada. También se muestran los resultados que se obtienen con el comando wc.
Éste es el código:
[hernandez@localhost Programas]$ ./a.out < Programa.c El numero de lineas es: 42 El numero de palabras es: 171 El numero de caracteres es: 1038 [hernandez@localhost Programas]$ wc Programa.c 42 171 1038 Programa.c
Éste es el código:
/* Este programa debe contar el numero de lineas, el numero de caracteres, palabras y palabras especÃficas.*/ #include<stdio.h> #define ADENTRO 1 #define AFUERA 0 int main() { // Abre main int Caracteres = 0; int Palabras = 0; int Lineas = 0; int estado = AFUERA; int c; while ((c = getchar()) != EOF) /* Un error sutil dificil de detectar ocurre cuando se suprimen los parentesis que encierran la instruccion c = getchar() */ { // abre while // aqui se cuentan los caracteres Caracteres++; // Aqui se cuentan las lineas if ( '\n' == c ) Lineas++; // Aqui se cuentan las palabras if ( (' ' == c) || ('\t' == c) || ('\n' == c) ) estado = AFUERA; else if ( AFUERA == estado ) { // abre if estado = ADENTRO; Palabras++; } // Cierra if } // Cierra while printf("\n\nEl numero de lineas es: %d", Lineas); printf("\nEl numero de palabras es: %d", Palabras); printf("\nEl numero de caracteres es: %d\n\n", Caracteres); } // Cierra main
No hay comentarios:
Publicar un comentario