elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Duda en un ejercicio de programación
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Duda en un ejercicio de programación  (Leído 6,837 veces)
Caster


Desconectado Desconectado

Mensajes: 786


Ver Perfil WWW
Re: Duda en un ejercicio de programación
« Respuesta #10 en: 1 Noviembre 2012, 09:22 am »


Normalmente se devuelve 0 cuando el programa termina correctamente u otro número si hay un error. Con el return 0 funcionará, pero como técnica sería mejor poner otro número (normalmente 1 o -1).

Saludos.

Pero si no pones 0, el programa no termina, y lo que esta tratando de buscar eaguel es que el programa se cierre.

No he leído el código pero además si dentro del while no tuviera una instrucción que modificara la variable de control del bucle, este se iría a infinito. Porque tiene return y termina la ejecución de la función que si no... Catapún xD

Por cierto:
Código
  1. if (mes == 0) return 0;

Es una redundancia, lo lógico sería escribir:

Código
  1. return mes

Por otra parte, dejas el return en una bifurcación, que puede ser tomada o no. Problema avistado xD

¡Saludetes!

Sera una redundancia, pero si pones return mes el programa no se cierra, y el return 0 esta puesto para que se cierre si introduces el numero 0, lo que no entiendo es lo de la bifurcacion, el return 0 solo se ejecutara si introduces el numero 0, y despues el otro return 0 si la ejecucion del programa es correcta, no hay mas.

Saludos


En línea

BatchianoISpyxolo

Desconectado Desconectado

Mensajes: 166


Ver Perfil
Re: Duda en un ejercicio de programación
« Respuesta #11 en: 1 Noviembre 2012, 12:41 pm »

Pero si no pones 0, el programa no termina, y lo que esta tratando de buscar eaguel es que el programa se cierre.

Sera una redundancia, pero si pones return mes el programa no se cierra, y el return 0 esta puesto para que se cierre si introduces el numero 0, lo que no entiendo es lo de la bifurcacion, el return 0 solo se ejecutara si introduces el numero 0, y despues el otro return 0 si la ejecucion del programa es correcta, no hay mas.

Saludos

Disculpa, eso pasa cuando no lees los códigos xD.

Otra cosa, el do while va a terminar cuando mes sea igual a 0... Pero dentro de ese ciclo tienes otro ciclo que verifique que introduces números entre 1 y 12 para mes... Nunca va a terminar...

Código
  1. while (mes < ENERO || mes > DICIEMBRE) {..}

Ahí pides un número entre 1 y 12 para mes... Por tanto al llegar al final del do while, mes nunca será 0.

Si lo colocas así ya va a funcionar como quieres:

Código
  1. while ((mes < ENERO-1) || mes > DICIEMBRE) {..}


« Última modificación: 1 Noviembre 2012, 13:19 pm por BatchianoISpyxolo » En línea

Puede que desees aprender a programar desde 0: www.espascal.es
Caster


Desconectado Desconectado

Mensajes: 786


Ver Perfil WWW
Re: Duda en un ejercicio de programación
« Respuesta #12 en: 1 Noviembre 2012, 13:15 pm »

Disculpa, eso pasa cuando no lees los códigos xD.

Otra cosa, el do while va a terminar cuando mes sea igual a 0... Pero dentro de ese ciclo tienes otro ciclo que verifique que introduces números entre 1 y 12 para mes... Nunca va a terminar...

Código
  1. while (mes < ENERO || mes > DICIEMBRE) {..}

Ahí pides un número entre 1 y 12 para mes... Por tanto al llegar al final del do while, mes nunca será 0.

Si lo colocas ahí ya va a funcionar como quieres:

Código
  1. while ((mes < ENERO-1) || mes > DICIEMBRE) {..}

Ahi si que tienes razon, si la primera vez introduces un mes incorrecto, despues ya no saldria del bucle, con tu solucion es suficiente.

Saludos
En línea

eaguel

Desconectado Desconectado

Mensajes: 33


Ver Perfil
Re: Duda en un ejercicio de programación
« Respuesta #13 en: 1 Noviembre 2012, 13:44 pm »

Tenéis razón si introduzco un número raro antes de uno correcto ya no se corta con el 0, lo he corregido introduciendo otra vez el if ese del principio dentro del bucle.
En línea

Caster


Desconectado Desconectado

Mensajes: 786


Ver Perfil WWW
Re: Duda en un ejercicio de programación
« Respuesta #14 en: 1 Noviembre 2012, 13:46 pm »

Tenéis razón si introduzco un número raro antes de uno correcto ya no se corta con el 0, lo he corregido introduciendo otra vez el if ese del principio dentro del bucle.

No tienes porque poner dos veces el if, lee la solucion que te ha dejado BatchianoISpyxolo mas arriba.

Saludos
En línea

eaguel

Desconectado Desconectado

Mensajes: 33


Ver Perfil
Re: Duda en un ejercicio de programación
« Respuesta #15 en: 1 Noviembre 2012, 13:56 pm »

Si, es cierto, muchas gracias a los dos por todo, estaba bastante jodido con el puto ejercicio.
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ejercicio de programacion C++
Programación C/C++
a666 2 3,009 Último mensaje 27 Mayo 2010, 19:46 pm
por @synthesize
Duda en en ejercicio de programacion
Programación C/C++
eaguel 6 2,885 Último mensaje 21 Noviembre 2012, 10:07 am
por eaguel
Duda ejercicio basico de programacion
Programación Visual Basic
arts 2 1,872 Último mensaje 24 Enero 2013, 21:03 pm
por arts
Duda ejercicio basico de programacion
.NET (C#, VB.NET, ASP)
arts 5 3,195 Último mensaje 25 Enero 2013, 16:59 pm
por arts
Duda con ejercicio de programacion (c++)
Programación C/C++
anonimo115 1 1,828 Último mensaje 2 Febrero 2017, 16:27 pm
por ivancea96
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines