elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Problema con EOF
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con EOF  (Leído 1,932 veces)
Mario Olivera

Desconectado Desconectado

Mensajes: 108


Ser loco es pensar diferente.


Ver Perfil
Problema con EOF
« en: 30 Agosto 2014, 17:56 pm »

 Hola gente del foro, tengo un problema con un programa que al intentar construirlo me tire el error de que EOF no ha sido declarado :

Citar
/home/alumno/Escritorio/Proyectos C++/practicas/libroCalificaciones.cpp||In member function ‘void libroCalificaciones::recibirCalificaciones()’:|
/home/alumno/Escritorio/Proyectos C++/practicas/libroCalificaciones.cpp|48|error: ‘EOF’ was not declared in this scope|
||=== Build finished: 1 errors, 0 warnings ===|

 Les dejo la parte del código donde uso EOF, por las dudas trabajo en linux

Código
  1. void libroCalificaciones::recibirCalificaciones()
  2. {
  3.    int calificacion;
  4.    cout <<"Escriba las calificaciones de letra." <<endl
  5.         <<"Escriba el caracter EOF para terminar la entrada." <<endl;
  6.  
  7.         while ((calificacion= cin.get()) != EOF)
  8.         {
  9.             switch (calificacion)
  10.             {
  11.                 case 'A':
  12.                 case 'a':
  13.                 aCuenta++;
  14.                 break;
  15.  
  16.                 case 'B':
  17.                 case 'b':
  18.                 dCuenta++;
  19.                 break;
  20.  
  21.                 case 'C':
  22.                 case 'c':
  23.                 cCuenta++;
  24.                 break;
  25.  
  26.                 case 'D':
  27.                 case 'd':
  28.                 dCuenta++;
  29.                 break;
  30.  
  31.                 case 'F':
  32.                 case 'f':
  33.                 fCuenta++;
  34.                 break;
  35.  
  36.                 case '\t':
  37.                 case '\n':
  38.                 case ' ':
  39.                 break;
  40.  
  41.                 default:
  42.                 cout <<"Se introdujo una tecla de calificacion incorrecta."
  43.                      <<" Escribe una nueva calificacion." <<endl;
  44.                 break;
  45.  
  46.             }
  47.         }
  48. }
  49.  

Disculoen las molestias, saludos! :)


« Última modificación: 30 Agosto 2014, 17:59 pm por 718208 » En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Problema con EOF
« Respuesta #1 en: 30 Agosto 2014, 18:01 pm »

Antes de utilizar la macro EOF debes incluir el encabezado <cstdio>.

Un saludo


En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
flony


Desconectado Desconectado

Mensajes: 583



Ver Perfil
Re: Problema con EOF
« Respuesta #2 en: 1 Septiembre 2014, 03:50 am »

por las dudas las lineas 18 y 28 son identicas no deberian ser distintas ?
En línea

si un problema no tiene solucion entonces no es un problema...es algo inevitable
ecfisa

Desconectado Desconectado

Mensajes: 114


Ver Perfil
Re: Problema con EOF
« Respuesta #3 en: 1 Septiembre 2014, 06:35 am »

Hola.

Una sugerencia, para reducir tu código:
Código
  1. ...
  2. #include <locale>
  3. ...
  4.  
  5.  while ((calificacion= cin.get()) != EOF) {
  6.    switch (toupper(calificacion)) {
  7.      case 'A' :
  8.        aCuenta++;
  9.      break;
  10. ...
  11.  

Saludos.
En línea

6666

Desconectado Desconectado

Mensajes: 146


Wikileaks.org


Ver Perfil
Re: Problema con EOF
« Respuesta #4 en: 1 Septiembre 2014, 07:35 am »

while ((calificacion= cin.get()) != ' ') o while ((calificacion= cin.get()) != ' ')

tambien creo

while ((calificacion= cin.get()) != '0x0A')

o

while ((calificacion= cin.get()) != '\n')
En línea

Mario Olivera

Desconectado Desconectado

Mensajes: 108


Ser loco es pensar diferente.


Ver Perfil
Re: Problema con EOF
« Respuesta #5 en: 2 Septiembre 2014, 00:43 am »

Antes de utilizar la macro EOF debes incluir el encabezado <cstdio>.

Un saludo

Muchas Gracias rir3760 por tu ayuda, pude sulocionar el problema,  ;-)

por las dudas las lineas 18 y 28 son identicas no deberian ser distintas ?

Si flony! muchas gracias!  ;-)
Hola.


Una sugerencia, para..
while ((calificacion= cin.get()) != ' ') o while ((calificacion= cin.get()) != ' ')

El código esta en un libro no lo programe yo :S


Saludos a todos ;D
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema BlueZScanner y problema de conexión
Hacking Mobile
Kasswed 3 6,279 Último mensaje 6 Mayo 2006, 22:04 pm
por Gospel
Problema Css o problema con el sidebar
Desarrollo Web
gaboomsk8 6 3,558 Último mensaje 27 Diciembre 2011, 21:56 pm
por gaboomsk8
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines