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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Volver al menú principal sin usar goto
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] 3 Ir Abajo Respuesta Imprimir
Autor Tema: Volver al menú principal sin usar goto  (Leído 16,013 veces)
тαптяα


Desconectado Desconectado

Mensajes: 1.151


Sic utere tuo ut alienum non laeda


Ver Perfil WWW
Re: Volver al menú principal sin usar goto
« Respuesta #10 en: 1 Julio 2011, 15:55 pm »

No funciona, tira error al intentar compilar.
Lo de quitar el return, tampoco. Lo solucioné con esto:
Código
  1. int main();
  2. Inicio:
  3. ....
  4. ....
  5. goto Inicio;
Pues pon el error.. U_U


En línea

Acermax

Desconectado Desconectado

Mensajes: 55


Ver Perfil
Re: Volver al menú principal sin usar goto
« Respuesta #11 en: 1 Julio 2011, 15:59 pm »

Es que eso de return main() no tiene sentido.

Te dijeron varias veces que lo mejor es un bucle con un while, y no puedes decir que lo solucionaste con un goto, cuando tu pregunta era precisamente hacer eso sin usar goto xD


En línea

тαптяα


Desconectado Desconectado

Mensajes: 1.151


Sic utere tuo ut alienum non laeda


Ver Perfil WWW
Re: Volver al menú principal sin usar goto
« Respuesta #12 en: 1 Julio 2011, 16:12 pm »

Es que eso de return main() no tiene sentido.

Te dijeron varias veces que lo mejor es un bucle con un while, y no puedes decir que lo solucionaste con un goto, cuando tu pregunta era precisamente hacer eso sin usar goto xD

Tu si que no tienes sentido:

Código:
#include <stdio.h>

int main(){
char st[20];
printf("Escribe la palabra: ");
scanf("%s",&st);
printf("Has escrito %s \n", st);
return main();

}
En línea

Acermax

Desconectado Desconectado

Mensajes: 55


Ver Perfil
Re: Volver al menú principal sin usar goto
« Respuesta #13 en: 1 Julio 2011, 16:16 pm »

No voy a entrar a discutir.

Ya dijeron arriba que hacer recursión sobre el main() no es recomendable, además que en un largo uso sobrecarga la memoria...

Por supuesto que sé que eso compila, pero un programa no es perfecto por el mero hecho de compilar.

Un saludo...
En línea

тαптяα


Desconectado Desconectado

Mensajes: 1.151


Sic utere tuo ut alienum non laeda


Ver Perfil WWW
Re: Volver al menú principal sin usar goto
« Respuesta #14 en: 1 Julio 2011, 16:24 pm »

No voy a entrar a discutir.

Ya dijeron arriba que hacer recursión sobre el main() no es recomendable, además que en un largo uso sobrecarga la memoria...

Por supuesto que sé que eso compila, pero un programa no es perfecto por el mero hecho de compilar.

Un saludo...
Para ese programa creo qeu es una opción valida.

obviamente también puede usar while, ciclos, pero el user tiene la misma idea de programar C/C++ que de usar un F1, no sabe ni decirme el error que le tira algo que funciona correctamente. No le pidamos peras al olmo.
En línea

Valkyr


Desconectado Desconectado

Mensajes: 646


Divide y vencerás


Ver Perfil
Re: Volver al menú principal sin usar goto
« Respuesta #15 en: 1 Julio 2011, 17:27 pm »

Si existen sentencias de control como while ¿para que hacer return main();?. Sinceramente creo que es mejor hacer uso de while que, me imagino, será más eficiente. Y por muy chorra que sea el programa si una persona que está "aprendiendo" a programar se le enseña que ,en vez de pensar un poco la lógica que debe seguir un programa, haga uso de go to y cosas similares pues... sinceramente me parece erróneo.

Eso sí, cada cual que haga lo que quiera.

Saludos.
En línea

martin_poipon

Desconectado Desconectado

Mensajes: 29


Mis metas: Dominar C++ & PHP


Ver Perfil WWW
Re: Volver al menú principal sin usar goto
« Respuesta #16 en: 1 Julio 2011, 22:18 pm »

Para ese programa creo qeu es una opción valida.

obviamente también puede usar while, ciclos, pero el user tiene la misma idea de programar C/C++ que de usar un F1, no sabe ni decirme el error que le tira algo que funciona correctamente. No le pidamos peras al olmo.
:-\ :-\ :-\
Puedo usar while pero no quiero ._. a menos que sea la única opción. He puesto goto para tener una solución temporal. Y sé como dar el error, lo que pasa es que no estaba en el PC cuando respondiste.. SI sé decir el error. Es este:
Marca la llave ({) de inicio de main() y dice: too few arguments to function `int main(int, char**)'
En línea

BiQuad! - Inteligencia Virtual
[X] Tener una web con el script
[] Tener más de 100 posts
[] Tener más de 100 miembros
Host: byethost (gratis)
BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: Volver al menú principal sin usar goto
« Respuesta #17 en: 1 Julio 2011, 23:00 pm »

.
Si no quieres usar while for ni nada similar usa:

http://codepad.org/rbjReElT

Código
  1.  
  2. #include <setjmp.h>
  3. int main() {
  4.   int _i_jmp;
  5.   jmp_buf _jmpb_buf;
  6.  
  7.   _i_jmp = setjmp( _jmpb_buf );
  8.  // Mas codigo..., si _i_jmp==0 es que setjmp() a fallado....
  9.   longjmp( _jmpb_buf , 1 );
  10.   return 0;
  11. }
  12.  
  13.  

Dulces Lunas!¡.
« Última modificación: 1 Julio 2011, 23:02 pm por BlackZeroX▓▓▒▒░░ » En línea

The Dark Shadow is my passion.
franeg95

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: Volver al menú principal sin usar goto
« Respuesta #18 en: 3 Julio 2011, 05:53 am »

¿Has probado return main(); ?


Ahí tenes un problema. Si el programa genera mucho ciclos te quedas sin stack.

Lo mejor es un while(1) si es para siempre o preguntar.

char seguir;


prinft("desea seguir ?")
seguir=getchar();
En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Volver al menú principal sin usar goto
« Respuesta #19 en: 3 Julio 2011, 09:02 am »

Ahí tenes un problema. Si el programa genera mucho ciclos te quedas sin stack.

Lo mejor es un while(1) si es para siempre o preguntar.

char seguir;


prinft("desea seguir ?")
seguir=getchar();


Sí, parece que nadie vió mi respuesta sobre el ciclo infinito. :/
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Páginas: 1 [2] 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
crear un pelicula con un menu principal
Multimedia
Luish@o 3 4,331 Último mensaje 7 Noviembre 2009, 14:40 pm
por Axus
(solucionado)volver menu principal
Programación C/C++
cundre 7 6,553 Último mensaje 11 Febrero 2011, 17:18 pm
por cundre
[Lenguaje C] Volver al menu principal « 1 2 »
Programación C/C++
Whiteseba 11 24,548 Último mensaje 5 Marzo 2012, 01:28 am
por Whiteseba
netbeans abrir ventana secuandaria y volver a los procesos de la principal
Java
PhipexX 2 2,724 Último mensaje 2 Enero 2017, 19:05 pm
por ThinkByYourself
"Ayuda" No se como volver al menu principal C#
Programación C/C++
MaximuZ 1 4,630 Último mensaje 6 Junio 2017, 06:28 am
por yoelmend
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines