[C con Clase] [C-con-Clase] RE: ambito de variable??

rodolfo rosso paz rodolforossopaz en hotmail.com
Lun Nov 20 22:07:53 CET 2006


Hola Lucas:

Te ayudo en lo poco que se,

Dijiste:
>Hola muxaxos les ocmento que por fin estoy estudiando el curso como Dios 
>manda... Tengo unas dudillas al respecto:
>- En los ejercicios del tema 11 estructuras tengo una duda en el 2. Esta es 
>mi estructura no sé si esta bien, es que quisiera que me expliquen un poco 
>más el concepto de un campo de bits.
>
>struct Fecha2{
>        unsigned short dia;
>        unsigned short mes;
>        unsigned short anno;

Te faltó la ultima parte (:X) para que el compilador se enterara que se 
trata de bits y no de un unsigned short común.

struct Fecha {                            // estructura de bits
   unsigned short int nDia:5;         // max 31
   unsigned short int nMes:4;        // max 15
   unsigned short int nAnio:7;       // max 127
};

Como sabes, los bits solo almacenan numeros binarios, 1s y 0s, por lo tanto 
para almacenar el numero 31 (binario 11111) necesitas 5 bits,  el mes mas 
grande, 12 (binario 1100) necesita 4 bits, y como del año solo vas a 
almacecenar uno que esté entre 1960 y 2087, o sea 127 años (binario 1111111) 
necesitas 7 bits para almacenarlo.

En cuanto a las funciones de guardar que pones mas abajo, si no me equivoco, 
creo que la idea según lo que he leido en el curso es que coloques las 
funciones de guardar, dentro de la estructura, revisa nuevamente el 
capitulo, y te encontraras con un ejemplo que lo hace de esta manera.

Por lo demás me parece que lo estas haciendo bien, para estar recien en el 
segundo ejercicio.  Claro que no soy el mas apropiado para opinar, porque si 
tu vas en el capitulo XI, yo recien voy por el XVIII.  ! Un tuerto guiando a 
un ciego !, JA,  la intención es lo que cuenta.

Rodolfo

P.D:  Por cierto, voy en el capitulo XVIII, pero hasta ahora no se que 
significa  sprintf, parece que tu si, asi que no puedo opinar mucho sobre 
tus funciones



>        /*Esta parte es la del problema tengo que poner así:
>     unsigned short dia:?; // No entiendo  como asignar cuántos bits  a mi 
>variable día, por ejemplo dia acepta números del 1 al 31 cuántos bits es 
>correcto, para no desperdiciar  memoria; porque  creo que el ejercicio nos 
>pide eso no o es que me estoy desviando del ejecicio...
>  */
>         void Guardar_a(int a){
>             if(a>=1960 && a<=2087){
>                        a-=1960;
>                        sprintf(anno, "%6d", a);}
>        }
>
>        void Guardar_m(int m){
>             if(m>=1 && m<=12)
>             sprintf(mes,"%6d",m);
>             }
>
>
>        void Guardar_d(int d){
>             if(d>=1 && d<=31)
>             sprintf(dia,"%6d",d);
>             }
>        }
>
>Pd: Si vieron el ejercicio que opinan d emis funciopnes tomando en cuenta 
>que tan solo esoty en el ejercicio 2, aún no llegué a los otros dos...
>
>cainn_007 en yahoo.com
>
>  __________________________________________________
>Correo Yahoo!
>Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
>Regístrate ya - http://correo.espanol.yahoo.com/
>
>
>====================================================================<<<
>SMARTGROUPS CLOSURE –Unfortunately SmartGroups will be closing on 30th 
>November 2006.  Please click here for further details 
>http://www.smartgroups.com/closure/closing/index.htm
>http://ads.smartgroups.com/adclick/CID=000000dbc79a99a500000000
>====================================================================>>>
>
>If you want to share pictures, use the calendar, or start a questionnaire
>visit http://www.es.smartgroups.com/groups/c-con-clase
>
>To leave the group, email: c-con-clase-unsubscribe en smartgroups.com
>
>Report abuse 
>http://www.smartgroups.com/text/abusereport.cfm?gid%3D269314&mid%3D33270

_________________________________________________________________
MSN Amor: busca tu ½ naranja http://latam.msn.com/amor/





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