You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
MIGUEL Á. TOLEDO MARTÍNEZ<br />
En este caso, el usuario ha escrito, en una sola línea, tres calificaciones de examen con números y<br />
no con letra. Sin embargo, dado que las variables están definidas como objeto carácter, el sistema<br />
trata los dígitos como caracteres durante la operación de lectura; ve a cada dígito de un número<br />
como un carácter por separado. De esta manera, asigna el carácter ‘7’ a calificacion1, el carácter<br />
‘5’ a calificacion2 y el carácter ‘9’ a calificacion3. Los datos restantes (2 88) no son extraídos del<br />
flujo por los tres enunciados cin, sino que permanecen en la memoria temporal de flujo. Por<br />
supuesto cualquier enunciado cin posterior extraerá todos o parte de los datos restantes. Lo que es<br />
importante recordar es utilizar siempre variables numéricas (entero o punto flotante) para leer<br />
datos numéricos. Como se ha visto, los datos pueden corromperse con facilidad cuando se usan<br />
variables de carácter para leer datos numéricos.<br />
Caso 5:<br />
El usuario escribe: 97.5 73 84¿<br />
El sistema muestra: 9<br />
7<br />
.<br />
Una vez más el usuario ha escrito tres calificaciones numéricas, las cuales son tratadas como<br />
datos de carácter por el programa. De esta manera, se asignan los primeros tres caracteres y la<br />
información restante se deja en la memoria temporal de flujo de entrada. Como puede ver en la<br />
repetición, el carácter ‘9’ se asigna a calificacion1, el carácter ‘7’ a calificacion2 y el punto<br />
decimal se asigna a calificacion3.<br />
USO <strong>DE</strong> <strong>LA</strong> FUNCIÓN MIEMBRO get() PARA LEER DATOS <strong>DE</strong> UN SOLO Carácter<br />
La función miembro get(), sin argumento introduce un carácter desde el flujo designado<br />
(aunque sea espacio en blanco) y devuelve dicho carácter como valor de la llamada de la<br />
función. Esta versión de get devuelve EOF cuando se llega al final del archivo de flujo.<br />
Habrá ocasiones en que quiera congelar la pantalla para que el usuario tome alguna<br />
acción, como presionar la tecla ENTER (¿) Se puede lograr insertando una llamada a la función<br />
get() dentro de su programa junto con una instrucción adecuada, en el punto donde quiera<br />
congelar la salida. El código C++ que se necesita para realizar esta tarea es el siguiente:<br />
cout