Autor
|
Tema: Volver al menú principal sin usar goto (Leído 15,964 veces)
|
тαптяα
Desconectado
Mensajes: 1.151
Sic utere tuo ut alienum non laeda
|
No funciona, tira error al intentar compilar. Lo de quitar el return, tampoco. Lo solucioné con esto: int main(); Inicio: .... .... goto Inicio;
Pues pon el error.. U_U
|
|
|
En línea
|
|
|
|
Acermax
Desconectado
Mensajes: 55
|
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
Mensajes: 1.151
Sic utere tuo ut alienum non laeda
|
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: #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
Mensajes: 55
|
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
Mensajes: 1.151
Sic utere tuo ut alienum non laeda
|
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
Mensajes: 646
Divide y vencerás
|
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
Mensajes: 29
Mis metas: Dominar C++ & PHP
|
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
|
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
. Si no quieres usar while for ni nada similar usa: http://codepad.org/rbjReElT #include <setjmp.h> int main() { int _i_jmp; jmp_buf _jmpb_buf; // Mas codigo..., si _i_jmp==0 es que setjmp() a fallado.... return 0; }
Dulces Lunas!¡.
|
|
« Última modificación: 1 Julio 2011, 23:02 pm por BlackZeroX▓▓▒▒░░ »
|
En línea
|
The Dark Shadow is my passion.
|
|
|
franeg95
Desconectado
Mensajes: 1
|
¿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
Mensajes: 3.069
/^$/
|
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
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
crear un pelicula con un menu principal
Multimedia
|
Luish@o
|
3
|
4,323
|
7 Noviembre 2009, 14:40 pm
por Axus
|
|
|
(solucionado)volver menu principal
Programación C/C++
|
cundre
|
7
|
6,536
|
11 Febrero 2011, 17:18 pm
por cundre
|
|
|
[Lenguaje C] Volver al menu principal
« 1 2 »
Programación C/C++
|
Whiteseba
|
11
|
24,491
|
5 Marzo 2012, 01:28 am
por Whiteseba
|
|
|
netbeans abrir ventana secuandaria y volver a los procesos de la principal
Java
|
PhipexX
|
2
|
2,698
|
2 Enero 2017, 19:05 pm
por ThinkByYourself
|
|
|
"Ayuda" No se como volver al menu principal C#
Programación C/C++
|
MaximuZ
|
1
|
4,612
|
6 Junio 2017, 06:28 am
por yoelmend
|
|