[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