[C con Clase] Tamaño de los campos de bits

Alejandro Vilar López alepelexo en yahoo.es
Lun Feb 19 12:43:20 CET 2007


Hola, tengo otro problema con el ejercicio de las fechas. En este caso es con el que hay que verificar la fecha con una función "bool".
El caso es que yo tengo la siguiente estructura:

struct Fecha
{
    unsigned short int dia:5;
    unsigned short int mes:4;
    unsigned short int anno:7;
}Param[10];

Y, después de usar una variable auxiliar para pasar los datos a la estructura como me dijisteis, es cuando tengo el problema:
En la variable auxiliar para el mes yo meto un numero, como por ejemplo 34, a través de un cin >>.
Al pasarlo a la variable 'Param[x].mes' se transforma ese 34 en 2, con lo que cuando voy a comprobar si el día es correcto siempre lo es excepto cuando los meses son de menos de 31 días y tú introduces el número 31.
Yo supongo que este cambio de 34 a 2 es debido a que en 5 bits sólo caben números del 0 al 31, con lo que cuando es mayor vuelve a empezar. 
¿Cómo lo soluciono?

Un saludo, Alejandro.

P.D.: ¡Ah, muchas gracias por enviar la correción de los ejercicios, Steven, ya estoy trabajando en ello!


		
______________________________________________ 
LLama Gratis a cualquier PC del Mundo. 
Llamadas a fijos y móviles desde 1 céntimo por minuto. 
http://es.voice.yahoo.com
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20070219/73475540/attachment.html>


Más información sobre la lista de distribución Cconclase