[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