21.9.-
Escriba
un programa para demostrar que las funciones miembro iostream de
nombre getline y get de tres argumentos cada una de ellas
termina la cadena de entrada con un carácter nulo de terminación
de cadena. También demuestre que get deja el carácter
delimitador en el flujo de entrada, en tanto que getline extrae
el carácter delimitador y lo descarta. ¿Qué
ocurre con los carácteres no leídos dentro del flujo?
21.10.-
Escriba
un programa que cree el manipulador definido por usuario skipwhite
para pasar por alto los caracteres de espacio en blanco a la izquierda
en el flujo de entrada. El manipulador deberá utilizar la
función isspace de la biblioteca ctype.h para probar
si el carácter es un carácter de espacio en blanco.
Cada carácter deberá ser introducido utilizando la
función miembro get de istream. Cuando se encuentre con un
carácter distinto a un espacio en blanco, el manipulador
skipwhite termina su trabajo colocando el carácter de regreso
en el flujo de entrada y devolviendo una referencia istream.
Pruebe
el manipulador definido por usuario creando una función main
en la cual quede la bandera ios::skipws desactivada de tal
forma que el operador de extracción de flujo no salte en
forma automática los espacios en blanco. A continuación
pruebe el manipulador sobre el flujo de entrada introduciendo un
carácter precedido por un espacio en blanco como entrada.
Imprima el carácter que fué introducido a fin de confirmar
que el carácter de espacio en blanco no fue introducido.
21.11.-
Escriba
un programa que introduzca una cadena desde el teclado y determine
la longitud de dicha cadena. Imprima la cadena utilizando
como ancho de campo el doble de su longitud.
21.12.-
Escriba
un programa que imprima el valor 100. 453627 redondeado al siguiente
dígito, décimo, centésimo, milésimo
y diezmilésimo.
21.13.-
Escriba un programa para probar los valores enteros de entrada en
formato decimal, octal y hexadecimal. Extraiga cada entero
leído por el programa en los tres formatos. Pruebe el programa
con los siguientes datos de entrada: 10, 010, 0x10.
21.14.-
Escriba un programa que imprima los valores de apuntador utilizando
conversiones explicitas (cast) para todos los tipos de datos
enteros. ¿cuales son los que imprimen valores raros? ¿cuales
causan errores?
21.15.-Escriba
un programa que convierta temperaturas enteras Fahrenheit
desde 0 hasta 212 grados a temperaturas Celsius en punto
flotante con tres dígitos de precisión. Utilice la
fórmula
celsius
= 5.0/9.0 * (fahrenheit - 32)
para
efectuar el cálculo. La salida deberá ser impresa
en dos columnas justificadas a la derecha, y las temperaturas celsius
deberán estar precedidas por un signo, tanto para valores
positivos como negativos.
|