Ejercicio sencillo de caracteres

millerthekiller
17 de Julio del 2005
Tenfo que hacer un programa que lea un texto caracter a caracter y acabe en EOF. El programa debe contar las palabras de más de 3 letras. Lo hicé y compila pero no funciona, sin embargo haciendo que el programa acabe en enter me funciona sin problemas. Les adjunto el código acabando en enter, a ver si me ayudan a que acabe en EOF. Gracias.


#include<conio.h>
#include<stdio.h>
void main ()
{
clrscr();
int letra,cont=0, contpal=0;
printf("Ingrese una oracion terminada en ENTER: ");
letra=getchar();
while(letra!='n')
{
while(letra==' ')
letra=getchar();
while(letra!=' ' && letra!='n')
{
cont=cont+1;
letra=getchar();
} // fin while
if(cont>=4)
contpal=contpal+1;
cont=0;
} // fin while
printf("La cantidad de palabras con más de 3 letras es %dn", contpal);
getch();
} // fin main

_cid_
17 de Julio del 2005
Hola!! =)

Te cito:
"Tenfo que hacer un programa que lea un texto caracter a caracter y acabe en EOF."

Que yo sepa, EOF es "end of file" osea final del archivo, y vos aca estas capturando los datos desde la pantalla.
Creo que tu error es de interpretación, ya que se te está pidiendo obtener los datos desde un archivo de texto (el cual contiene EOF, obviamente al final de este).
Espero que me hayas comprendido.
Un abrazo!!