[C con Clase] ayuda con el ejemplo 9.4
kbzita93
aguslessat en gmail.com
Vie Feb 19 09:39:46 CET 2010
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
Más información sobre la lista de distribución Cconclase