/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

mas dudas...

 
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
estoyperdida



Registrado: 25 Nov 2007
Mensajes: 16

MensajePublicado: 05/12/2007 11:27 pm
Título: mas dudas...

Holass de nuevo. Bueno creo que ya tengo mas o menos el programa principal, pero cuando lo compilo sale mal, asik eso esk esta mal. No se que pasa que cuando por ejemplo doy a cambiar mes, cuando meto algun dato imposible no me dice que hay error
Código:

case 1:
    {
   printf ("Nuevo mes: ");scanf("%d",&mes);
   if (mes>0 | mes<=12)
      {   printf("la fecha ahora es dia=%d mes=%d anno=%d",dia,mes,anno);
      muestra_calendario(anno,mes);
      getchar();
   }
   else
       printf("Error: mes entre 1 y 12.\n");
   }
   break;


Vamos que si pongo mes 13, no me dice nada.
Y luego otra cosita en la parte donde pone 'La fecha introducida es...' me sale dia=-1080808636 mes=-1080808640 anno=-1080808632 , no se a que se debe, ayudarmee por favor^^
Volver arriba
Cyberick



Registrado: 04 Nov 2007
Mensajes: 6
Ubicación: Mayaguez, Puerto Rico

MensajePublicado: 06/12/2007 12:03 am
Título: Re: mas dudas...

Cuando pones un número fuera del rango especificado ( 0 - 12 ), no te devuelve "ERROR MSG" porque la condición está mal. Para que funcione tienes que cambiar tu if statement por esto:
Código:

if ( mes > 0 && mes <= 12 )


Fíjate que usé un "&&" (AND) y no un "|" (OR). De esta manera, cuando introduzcas tu número, el mismo tendrá que ser mayor a 0 y menor o igual a 12.

Con respecto a tu otra duda, creo que deberías poner un poco más de código a ver si encontramos la falla.

Suerte,
Cyberick
_________________
"Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime." --Chinese Proverb
Volver arriba
GameZelda



Registrado: 15 Nov 2007
Mensajes: 3

MensajePublicado: 06/12/2007 1:16 am
Título: Re: mas dudas...

Cyberick escribió:

Fíjate que usé un "&&" (AND) y no un "|" (OR). De esta manera, cuando introduzcas tu número, el mismo tendrá que ser mayor a 0 y menor o igual a 12.


Poner una sola | es la operación "bitwise" OR (Y una sola & es la operación "bitwise" AND). Para condicionales debe usarse siempre || (o) y && (y)
Volver arriba
estoyperdida



Registrado: 25 Nov 2007
Mensajes: 16

MensajePublicado: 06/12/2007 1:33 am
Título:

Lo he puesto y me sigue saliendo lo mismo que antes Crying or Very sad
Y lo de los numeros raros esos que me salen, no sabeis de que puede ser?
Volver arriba
Filzix



Registrado: 30 Oct 2007
Mensajes: 15

MensajePublicado: 06/12/2007 2:11 am
Título:

supongo que si cierras llave primero tendras que abrirla en el else . y borrar la del despues del case 1
(no se si ahora rula)

Código:
case 1:
   
   printf ("Nuevo mes: ");scanf("%d",&mes);
   if (mes>0 && mes<=12)
      {   printf("la fecha ahora es dia=%d mes=%d anno=%d",dia,mes,anno);
      muestra_calendario(anno,mes);
      getchar();
   }
   else {
       printf("Error: mes entre 1 y 12.\n");
   }
   break;
Volver arriba
estoyperdida



Registrado: 25 Nov 2007
Mensajes: 16

MensajePublicado: 06/12/2007 3:45 am
Título:

Ya he conseguido que me salga^^ Muchisimas gracias^^

Pero sigue sin salirme bien los numeros, me sigue apareciendo dia=-1080808636 mes=-1080808640 anno=-1080808632
Volver arriba
Cyberick



Registrado: 04 Nov 2007
Mensajes: 6
Ubicación: Mayaguez, Puerto Rico

MensajePublicado: 06/12/2007 4:11 am
Título: Re: mas dudas...

GameZelda escribió:
Cyberick escribió:

Fíjate que usé un "&&" (AND) y no un "|" (OR). De esta manera, cuando introduzcas tu número, el mismo tendrá que ser mayor a 0 y menor o igual a 12.


Poner una sola | es la operación "bitwise" OR (Y una sola & es la operación "bitwise" AND). Para condicionales debe usarse siempre || (o) y && (y)


Cierto, gracias por la corrección!

Saludos,
Cyberick
_________________
"Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime." --Chinese Proverb
Volver arriba
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com