[C con Clase] Salida con dos dígitos
Steven Davidson
steven en conclase.net
Vie Mar 30 17:49:39 CEST 2007
Hola Omar,
El pasado 2007-03-30 15:38:28, Omar Murray escribió:
OM> Hola Lista:
OM> Tengo una estructura de este tipo:
OM> typedef struct {
OM> unsigned int borrar:1;
OM> unsigned int reserv:1;
OM> unsigned int dia:5;
OM> unsigned int mes:4;
OM> unsigned int anio:7;
OM> unsigned int CantHs:4;
OM> unsigned int TipoHs:2;
OM> unsigned int HsCompen:4;
OM> unsigned int HsPagadas:4;
OM> } InputData;
OM> InputData regd;
OM> Cuando hago una salida por pantalla del dia o el mes menores a 10
OM> quisiera que me lo imprima con dos dígitos, es decir que el dia 9 salga
OM> como 09... o el mes 7 como 07...
OM> Que debo agregarle al cout para que esto suceda...?
OM> cout << regd.dia....
Puedes usar las funciones 'width()' para indicar la "anchura" y 'fill()' para indicar el carácter de "relleno". En tu caso, harías lo siguiente:
cout.width( 2 );
cout.fill( '0' );
cout << regd.dia;
También podrías usar los manipuladores de <iomanip>. Esto sería,
cout << setw( 2 ) << setfill( '0' ) << regd.dia;
Puedes consultar el apéndice D en el curso de C++. Para éstas y otras funciones, puedes ir directamente a: http://c.conclase.net/curso/index.php?cap=903b#APD_ios
Espero que te ayude.
Steven
Más información sobre la lista de distribución Cconclase