[C con Clase] ayuda con el ejemplo 9.4

Jose Cabrera josmaca en gmail.com
Vie Feb 19 14:00:47 CET 2010


Me parece que esto esta diseñado para pasarle un archivo.
EOF es un carácter especial que indica el final de un archivo "end of file",
si introduces el texto por teclado ese carácter no creo que se envíe;

El 19 de febrero de 2010 09:39, kbzita93 <aguslessat en gmail.com> escribió:

> bueno haber si alguien me puede explicar algo de el ejemplo 9.4 del curso
> porque no entedi algunas cosas
> pego el codigo aqui para que sea mas facil:
>
> #include <iostream>
> #include <cstdio>
> #include <cctype>
> using namespace std;
>
> int main()
> {
>   int consonantes = 0;
>   int vocales = 0;
>   int digitos = 0;
>   int mayusculas = 0;
>   int minusculas = 0;
>   int espacios = 0;
>   int puntuacion = 0;
>   char c; // caracteres leídos desde el teclado
>
>   cout << "Contaremos caracteres hasta que se pulse ^Z"
>        << endl;
>   while((c = getchar()) != EOF)
>   {
>      if(isdigit(c)) digitos++;
>      else if(isspace(c)) espacios++;
>      else if(ispunct(c)) puntuacion++;
>      else if(isalpha(c))
>      {
>         if(isupper(c)) mayusculas++; else minusculas++;
>         switch(tolower(c)) {
>            case 'a':
>            case 'e':
>            case 'i':
>            case 'o':
>            case 'u':
>               vocales++;
>               break;
>            default:
>               consonantes++;
>         }
>      }
>   }
>   cout << "Resultados:" << endl;
>   cout << "Dígitos:     " << digitos << endl;
>   cout << "Espacios:    " << espacios << endl;
>   cout << "Puntuación:  " << puntuacion << endl;
>   cout << "Alfabéticos: " << mayusculas+minusculas << endl;
>   cout << "Mayúsculas:  " << mayusculas << endl;
>   cout << "Minúsculas:  " << minusculas << endl;
>   cout << "Vocales:     " << vocales << endl;
>   cout << "Consonantes: " << consonantes << endl;
>   cout << "Total: " << digitos + espacios + vocales +
>      consonantes + puntuacion << endl;
>
>   return 0;
> }
>
> lo que me sucede es que yo compilo y ejecuto el programa pero no termina
> nunca el texto dice contaremos hasta presionar ^Z(aunque en el codigo no veo
> nada que indique que esto sea asi) y despues tampoco entiendo la condicion
> del while como por ejemplo que es EOF?? es la unica parte del programa que
> no comprendo :S
> podrian explicarme la condicion del while??
>
> salu2
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20100219/06d6085e/attachment.html>


Más información sobre la lista de distribución Cconclase