CONTENIDO DE LA LECCIÓN 8
CONTENIDO DE LA LECCIÓN 8 CONTENIDO DE LA LECCIÓN 8
MIGUEL Á. TOLEDO MARTÍNEZ requiere tanta escritura como algunos otros lenguajes estructurados. En realidad C++ asignará la parte entera del primer valor a registro1 y la parte decimal del primer valor a registro2. De esta manera, la variable registro1 toma el valor 98 y registro2 tomar el valor 0.5. Después, con el mismo programa, suponga que el usuario escribe la siguiente línea de datos: 98¿ 78↵ Ahora no hay problema. Pero ¿Cómo puede ser esto? ¿Por qué el compilador asigna un valor entero (78) a una variable de punto flotante (registro2)? Está bien, porque los enteros son una serie de números reales. El compilador simplemente convierte el valor entero en un formato de punto flotante. De esta manera el valor entero 78 se convierte en el valor de punto flotante 78.0 para almacenarse dentro de la memoria principal de trabajo. LECTURA DE DATOS DE UN SOLO CARÁCTER La lectura de datos numéricos es directa, siempre y cuando se haga uso de las dos reglas para la lectura de datos. Sin embargo, hay algunas cosas que convienen recordar cuando se leen datos de carácter usando cin. Ejemplo 7.7 1. Sólo se lee un carácter a la vez. 2. Los espacios en blanco (espacios, tabuladores, líneas nuevas, retorno de carro, etc.) son ignorados por cin cuando se usa el operador >>. Sin embargo, es posible leer el espacio en blanco usando diferentes funciones cin 3. Los valores numéricos se pueden leer como caracteres, pero cada dígito se lee como un carácter por separado. El siguiente programa LECCAR.CPP, ilustra el uso de los conceptos anteriores. // El siguiente programa: LEECAR.CPP, ilustra la lectura de datos de la clase caracter. #include //Para cout void main(void) { // Define las variables ingresadas y las inicializa con espacio en blanco. char calificacion1 = ' '; char calificacion2 = ' '; char calificacion3 = ' '; // Lectura/escritura de los datos del usuario cout > calificacion1; cout
MIGUEL Á. TOLEDO MARTÍNEZ El programa anterior define tres variables (calificacion1, calificacion2, calificacion3) de la clase carácter, las cuales son inicializadas con espacios en blanco. Después el programa lee las tres variables de clase carácter desde el teclado y repite las variables en la pantalla del monitor. Ahora vamos a ver que hará el programa con algunos casos de entrada. Caso 1: Introduzca una calificación (R,D,C,B,A): A¿ La calificación introducida fue: A Introduzca una calificación (R,D,C,B,A): B¿ La calificación introducida fue: B Introduzca una calificación (R,D,C,B,A): C¿ La calificación introducida fue: C Se observa la salida que se esperaba. El compilador asigna un solo carácter de entrada a la variable carácter respectiva listada en el enunciado cin. Caso 2: El usuario escribe: ABC¿ El sistema muestra: A B C En este caso, el usuario ha escrito los caracteres ‘A’, ‘B’ y ‘C’ en una sola línea. De esta manera, los tres caracteres se colocan en la memoria temporal del flujo de entrada. El compilador todavía asigna el carácter A a calificacion1, el carácter B a calificacion2 y el carácter C a calificacion3. Veamos como funciona: el usuario ha colocado tres caracteres en el flujo de entrada. El primer enunciado cin extrae solamente el primer carácter (‘A’) y el subsecuente enunciado cout repite el carácter en la pantalla. Como resultado, el carácter ‘A’ se extrae del flujo, quedando los caracteres ‘B’ y ‘C’. El segundo enunciado cin extrae del flujo el segundo carácter (‘B’), dejando el carácter ‘C’ en el flujo. El siguiente enunciado cout repite ‘B’ en la pantalla. Por último, el tercer enunciado cin extrae el último carácter (‘C’) del flujo. Este carácter se repite entonces en la pantalla. Caso 3: El usuario escribe: A B C¿ El sistema muestra: A B C Observe que hay espacios en blanco entre los caracteres ‘A’, ‘B’ y ‘C’. Este espacio en blanco es ignorado por el operador >>. De esta manera, el compilador todavía hace las asignaciones correctas a las variables respectivas. Caso 4: El usuario escribe: 75 92 88¿ El sistema muestra: 7 5 9 FUNDAMENTOS – LECCIÓN 7 7-11
- Page 1 and 2: MIGUEL Á. TOLEDO MARTÍNEZ CONTENI
- Page 3 and 4: MIGUEL Á. TOLEDO MARTÍNEZ LECCIÓ
- Page 5 and 6: MIGUEL Á. TOLEDO MARTÍNEZ introdu
- Page 7 and 8: MIGUEL Á. TOLEDO MARTÍNEZ /* El s
- Page 9: MIGUEL Á. TOLEDO MARTÍNEZ 2, las
- Page 13 and 14: MIGUEL Á. TOLEDO MARTÍNEZ caso co
- Page 15 and 16: MIGUEL Á. TOLEDO MARTÍNEZ una fun
- Page 17 and 18: MIGUEL Á. TOLEDO MARTÍNEZ . [30]
- Page 19 and 20: MIGUEL Á. TOLEDO MARTÍNEZ [5] ‘
- Page 21 and 22: MIGUEL Á. TOLEDO MARTÍNEZ Cuándo
- Page 23 and 24: MIGUEL Á. TOLEDO MARTÍNEZ USO DE
- Page 25 and 26: MIGUEL Á. TOLEDO MARTÍNEZ LAS FUN
- Page 27 and 28: MIGUEL Á. TOLEDO MARTÍNEZ Miguel
- Page 29 and 30: MIGUEL Á. TOLEDO MARTÍNEZ CLASES:
- Page 31 and 32: MIGUEL Á. TOLEDO MARTÍNEZ Una vez
- Page 33 and 34: MIGUEL Á. TOLEDO MARTÍNEZ Ejemplo
- Page 35 and 36: MIGUEL Á. TOLEDO MARTÍNEZ // Copi
- Page 37 and 38: MIGUEL Á. TOLEDO MARTÍNEZ ofstrea
- Page 39 and 40: MIGUEL Á. TOLEDO MARTÍNEZ LECTURA
- Page 41 and 42: MIGUEL Á. TOLEDO MARTÍNEZ como de
- Page 43 and 44: MIGUEL Á. TOLEDO MARTÍNEZ { int r
- Page 45 and 46: MIGUEL Á. TOLEDO MARTÍNEZ Desplaz
- Page 47 and 48: MIGUEL Á. TOLEDO MARTÍNEZ El prog
- Page 49 and 50: MIGUEL Á. TOLEDO MARTÍNEZ /* El s
- Page 51 and 52: MIGUEL Á. TOLEDO MARTÍNEZ El prog
- Page 53 and 54: MIGUEL Á. TOLEDO MARTÍNEZ int sel
- Page 55 and 56: MIGUEL Á. TOLEDO MARTÍNEZ //Enví
- Page 57 and 58: MIGUEL Á. TOLEDO MARTÍNEZ PRIMER
- Page 59 and 60: MIGUEL Á. TOLEDO MARTÍNEZ LO QUE
MIGUEL Á. TOLEDO MARTÍNEZ<br />
requiere tanta escritura como algunos otros lenguajes estructurados. En realidad C++ asignará la<br />
parte entera del primer valor a registro1 y la parte decimal del primer valor a registro2. De esta<br />
manera, la variable registro1 toma el valor 98 y registro2 tomar el valor 0.5.<br />
Después, con el mismo programa, suponga que el usuario escribe la siguiente línea de datos:<br />
98¿<br />
78↵<br />
Ahora no hay problema. Pero ¿Cómo puede ser esto? ¿Por qué el compilador asigna un valor<br />
entero (78) a una variable de punto flotante (registro2)? Está bien, porque los enteros son una<br />
serie de números reales. El compilador simplemente convierte el valor entero en un formato de<br />
punto flotante. De esta manera el valor entero 78 se convierte en el valor de punto flotante 78.0<br />
para almacenarse dentro de la memoria principal de trabajo.<br />
LECTURA <strong>DE</strong> DATOS <strong>DE</strong> UN SOLO CARÁCTER<br />
La lectura de datos numéricos es directa, siempre y cuando se haga uso de las dos reglas<br />
para la lectura de datos. Sin embargo, hay algunas cosas que convienen recordar cuando se leen<br />
datos de carácter usando cin.<br />
Ejemplo 7.7<br />
1. Sólo se lee un carácter a la vez.<br />
2. Los espacios en blanco (espacios, tabuladores, líneas nuevas, retorno de carro, etc.) son<br />
ignorados por cin cuando se usa el operador >>. Sin embargo, es posible leer el espacio en<br />
blanco usando diferentes funciones cin<br />
3. Los valores numéricos se pueden leer como caracteres, pero cada dígito se lee como un<br />
carácter por separado.<br />
El siguiente programa LECCAR.CPP, ilustra el uso de los conceptos anteriores.<br />
// El siguiente programa: LEECAR.CPP, ilustra la lectura de datos de la clase caracter.<br />
#include //Para cout<br />
void main(void)<br />
{<br />
// Define las variables ingresadas y las inicializa con espacio en blanco.<br />
char calificacion1 = ' ';<br />
char calificacion2 = ' ';<br />
char calificacion3 = ' ';<br />
// Lectura/escritura de los datos del usuario<br />
cout > calificacion1;<br />
cout