[C con Clase] Tema 11 Ejercicio 2 del Curso C++

Arkiant SamuelPorras en gmail.com
Jue Sep 11 19:41:04 CEST 2008


Hola buenas tardes,

tengo un pequeño problema con el ejercicio mencionado en el asunto aquí viene el enunciado:

"Para almacenar fechas podemos crear una estructura con tres campos: ano, mes y día. Los días pueden tomar valores entre 1 y 31, los meses de 1 a 12 y los años, dependiendo de la aplicación, pueden requerir distintos rangos de valores. Para este ejemplo consideraremos suficientes 128 años, entre 1960 y 2087. En ese caso el año se obtiene sumando 1960 al valor de año. El año 2003 se almacena como 43.
Usando estructuras, y ajustando los tipos de los campos, necesitamos un char para día, un char para mes y otro para año.
Diseñar una estructura análoga, llamada "fecha", pero usando campos de bits. Usar sólo un entero corto sin signo (unsigned short), es decir, un entero de 16 bits. Los nombres de los campos serán: dia, mes y anno." 

El problema que tengo es que no entiendo nada, es decir, se que tengo que escribir una estructura con 3 campos: Ano, Mes, Dia. Lo de los valores que pueden tomar tambien lo entiendo, lo de la obtención del año como 2003 = 43 nosé porque debe dar eso, ni como sacarlo.

Por otra parte tenemos lo de ajustar los tipos eso también lo entiendo si es lo que pienso (char, char, char).

Y ahora viene la parte mas "extraña" para mi:

"Diseñar una estructura análoga, llamada "fecha", pero usando campos de bits. Usar sólo un entero corto sin signo (unsigned short), es decir, un entero de 16 bits. Los nombres de los campos serán: dia, mes y anno."

esto me da a enteder dos cosas, o una estructura con campos repetidos o dos estructuras completamente diferentes una con campos de variables, y la otra con campos de bits.

Y una preguntita mas:
Los valores los tiene que poner el usuario y luego el programa procesar toda la información y convertir al formato adecuado o debe estar ya en el código fuente?

Grácias por todo y por este maravilloso Curso/Lista que grácias a ellos cada día aprendo mas el mundillo del C/C++.

Enorabuena ^^.


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