06.05.2013 Views

CONTENIDO DE LA LECCIÓN 8

CONTENIDO DE LA LECCIÓN 8

CONTENIDO DE LA LECCIÓN 8

SHOW MORE
SHOW LESS

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 />

LO QUE NECESITA SABER<br />

Antes de que continúe con la siguiente lección, asegúrese de haber comprendido los<br />

siguientes conceptos:<br />

C++ proporciona el flujo de entrada cin para introducir datos por el teclado.<br />

El objeto de flujo de entrada cin (conectado normalmente al teclado) se utiliza para introducir datos.<br />

Es posible introducir varios elementos de datos concatenando operadores de extracción de flujo (>>)<br />

Cuando su programa utiliza cin para leer datos, su programa debe especificar una o más variables en<br />

la que cin colocará los datos.<br />

Para asignar entrada a una variable, su programa debe usar cin con el operador de extracción (>>)<br />

Cuando su programa usa cin para leer múltiples valores, cin utiliza espacios en blanco para<br />

determinar donde un valor termina y comienza un segundo valor.<br />

Si el usuario no introduce datos correctos, pueden ocurrir errores, y el valor que cin asigna a las<br />

variables de su programa puede ser incorrecto.<br />

Para leer los datos en C++ emplee el objeto de flujo de entrada cin. Como cout, cin es un objeto de<br />

flujo de archivo predefinido en C++.<br />

El enunciado cin debe incluir una(s) variable (s) para lectura. Cualquier variable listada dentro de un<br />

enunciado cin se debe definir antes de usarse en el programa.<br />

Además, la clase de datos ingresada para una variable determinada deberá coincidir con la clase de<br />

datos definida para esa variable.<br />

El operador de extracción de flujo >> se usa dentro del enunciado cin para extraer datos desde el<br />

flujo de entrada y asignar estos datos a la(s) variable(s) listadas en el enunciado cin.<br />

Cuando lea los datos de un solo carácter, el operador >> ignora los espacios en blanco. Sin embargo,<br />

puede usar la función get() con cin para leer datos de espacio en blanco de un solo carácter.<br />

La función miembro get() sin argumentos introduce un carácter y lo devuelve; devuelve EOF si<br />

encuentra el fin de archivo del flujo.<br />

La función miembro get() con un argumento de clase char introduce un carácter. Se devuelve EOF<br />

cuando encuentra el final del archivo, en caso contrario se devuelve el objeto istream para el que se<br />

llamó la función miembro get()<br />

La función miembro get() con tres argumentos –un arreglo de caracteres, un límite de tamaño y un<br />

delimitador (que tiene un valor predeterminado de nueva línea) –lee caracteres desde el flujo de<br />

entrada hasta un máximo del límite de caracteres – 1 y termina, o termina cuando se lee el delimitador.<br />

La cadena de entrada se termina con un carácter nulo. El delimitador no se coloca en el arreglo de<br />

caracteres, sino que permanece en el flujo de entrada.<br />

La función miembro getline() opera en forma similar a la función get() con tres argumentos. La<br />

función getline() elimina al delimitador de flujo de entrada pero no lo almacena en la cadena.<br />

Cuando lea datos de cadena de caracteres, el operador >> terminará en un espacio en blanco. Como<br />

resultado, debe usar la función getline() junto con cin cuando lea un arreglo de caracteres o cadenas.<br />

Cuando use getline(), deberá descartar los caracteres restantes “\n” en la memoria temporal del teclado<br />

a partir de una operación de lectura anterior. Para lograr esto, use un carácter delimitador diferente para<br />

getline(), una variable temporal o el manejador ws.<br />

La función miembro ignore() se salta un número especificado de caracteres (el número<br />

predeterminado es un carácter) en el flujo de entrada, y termina si encuentra al delimitador<br />

especificado (el delimitador predeterminado es EOF)<br />

La función miembro putback() devuelve al flujo el carácter anterior obtenido mediante un get()<br />

La función miembro peek() devuelve el siguiente carácter de un flujo de entrada, pero no elimina el<br />

carácter del flujo.<br />

FUNDAMENTOS – <strong>LECCIÓN</strong> 7 7-59

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!