Estados de formato de flujos y manipuladores de flujos.
Enviado por Ana Lopez • 1 de Marzo de 2016 • Informe • 1.759 Palabras (8 Páginas) • 238 Visitas
Universidad Nacional Autónoma de Honduras
Escuela de Matemáticas
Programación IC-200
Grupo # 1
Integrantes
- Ana Dolores López H.
- Kevin Oniel Ávila G.
- Yocelyn Corea
- Mónica Tejeda
Catedrático: David Motiño
Sección: 1101
Introducción
El presente informe se ha creado con el objetivo de familiarizar al lector y al estudiante en el uso de diferentes herramientas que puede utilizar al momento de compilar un programa. Es así como se hace una introducción a temas relacionados con el uso de cadenas, herramientas que facilitan al programador en
el desarrollo ejecución de dichos procesos.
Se verá entonces el uso de herramientas como Left, Right, Internal. Así como el funcionamiento de otras como fill, setfill. Además una corta introducción
sobre el análisis de width y setw.
Anchura de campos (width, setw)
La función miembro width (de la clase base ios_base) establece la anchura de campo (es decir, el número de posiciones de caracteres en los que debe imprimirse un valor, o el número máximo de caracteres que deben introducirse) y devuelve la anchura anterior. Si los valores que se imprimen son menos que la anchura de campo, se insertan caracteres de relleno como relleno ( padding). Un valor más ancho que la anchura designada no se truncará; se imprimirá el número completo. La función width sin argumento devuelve la confi guración actual.
Al introducir datos en un arreglo char, se leerá un máximo de caracteres igual a uno menos la anchura, ya que se toma en cuenta el carácter nulo que se va a colocar en la cadena de entrada. Recuerde que la extracción de f lujo termina al encontrar espacio en blanco a la derecha. El manipulador de f lujo setw también se puede usar para establecer la anchura de los campos.
1 #include
2 using std::cin;
3 using std::cout;
4 using std::endl;
5 int main()
6 {
7 int valorAnchura = 4;
8 char enunciado[ 10 ];
9 cout << "Escriba un enunciado:" << endl;
10 cin.width( 5 ); // introduce sólo 5 caracteres de enunciado
11 // establece la anchura de campo y después muestra los caracteres con base en esa anchura
12 while ( cin >> enunciado )
13 {
14 cout.width( valorAnchura++ );
18 cout << enunciado << endl;
19 cin.width( 5 ); // introduce 5 caracteres más de enunciado
20 } // fin de while
21 return 0;
23 }// fin del main
Estados de formato de flujos y manipuladores de flujos.
Se pueden utilizar varios manipuladores de flujos para especificar los tipos de formato a realizar durante las operaciones de E/S de flujos. Los manipuladores de flujos controlan la configuración del formato de la salida. En el cuadro siguiente se ilustra cada manipulador de flujo que controla un estado de formato de un f lujo dado. Todos estos manipuladores pertenecen a la clase ios base.
[pic 1]
Justificación Left, Right e Internal.
Los manipuladores de flujos left y right permiten justificar los campos a la izquierda con caracteres de relleno a la derecha, o justificarlos a la derecha con caracteres de relleno a la izquierda, respectivamente.
El carácter de relleno se especifica mediante la función miembro fill o el manipulador de flujo parametrizado setfill.
1 #include
2#include
3using std::cout;
4using std::left;
5using std::right;
6using std::setw;
7
8 int main ()
9 {
10 int x = 12345;
11
12 // muestra el valor de x justificado a la derecha (predeterminado)
13 cout << "La opcion predeterminada es justificado a la derecha:" << endl
14 << setw (10) << x;
15
16 // usa el manipulador left para mostrar el valor de x justificado a la izquierda
17 cout << "\n\nUso de std::left para justificar x a la izquierda:\n"
18 << left << setw (10) << x;
19
20 // usa el manipulador right para mostrar el valor de x justificado a la derecha
21 cout << "\n\nUso de std::right para justificar x a la derecha:\n"
22 << right << setw (10) << x << endl;
23 return 0;
24 } // fin de main
La opcion predeterminada es justificado a la derecha: 12345 Uso de std::left para justificar x a la izquierda: 12345 Uso de std::right para justificar x a la derecha: 12345 |
El manipulador de flujo internal indica que el signo de un número (o la base, cuando se utiliza el manipulador de flujo showbase) debe justificarse a la izquierda dentro de un campo, que la magnitud del número se debe justificar a la derecha y que los espacios intermedios deben rellenarse con el carácter de relleno.
...