Autor
|
Tema: [Solucionado] como llamar a main() (Leído 3,770 veces)
|
Mario Olivera
Desconectado
Mensajes: 108
Ser loco es pensar diferente.
|
Hola gente, tengo una duda, antes lo sabía hacer pero ahora no, y lo que quiero hacer es llamar a la función main, para que empieze el programa de nuevo, trabajo separando la interfaz de la implementacion y en una funcion de c++ intenté hacer return main(); y no funcionó si alguien me ayudaría se lo agradecería. Ya que estoy quiero saber como haría para hacer un system("pause") y system ("cls"); en linux. Desde a muchas gracias por cualquier ayuda, saludos
|
|
« Última modificación: 28 Agosto 2014, 01:04 am por 718208 »
|
En línea
|
|
|
|
Caster
|
No entiendo muy bien lo primero que preguntas y tampoco creo que hubiese podido responderte de todas formas. En cuanto a lo segundo, la funcion system() sirve para ejecutar comandos del sistema operativo, si tu abres CMD en Windows, ejecutas un par de comandos y despues haces el comando "cls" (sin comillas) lo que hará será limpiar la pantalla asi que lo que necesitas es el equivalente a esos comandos el linux, el equivalente a "cls" es "clear" y para "pause" no sabría decirte. Dicho esto te desaconsejo totalmente el uso de de system("pause"), la primera razón es el problema que tienes tu y es que no es portable, solo tendrá efecto en los sistemas que soporten el comando pause y que ademas es muy pesado llamar al sistema para hacer una pausa en tu programa, te recomiendo otras alternativas como getchar(); o esta pequeña linea de codigo: ;
que lo que hará es estar ejecutandose mientras tu no pulses la tecla enter. Del mismo modo, en vez de utilizar system("cls") sería mejor y más portable el uso de fflush(). Como consejo te recomiendo que leas esto: |Lo que no hay que hacer en C/C++. Nivel basico|Saludos.
|
|
|
En línea
|
|
|
|
jaxoR
Desconectado
Mensajes: 93
?
|
Para que vuelva a empezar el programa simplemente pon:
main();
Y listo, empezará nuevamente. Eso es lo que yo hago en mis programas
|
|
|
En línea
|
|
|
|
avesudra
Desconectado
Mensajes: 724
Intentando ser mejor cada día :)
|
Para que vuelva a empezar el programa simplemente pon:
main();
Y listo, empezará nuevamente. Eso es lo que yo hago en mis programas
Esto que comentas es inapropiado pues puedes perder el control del programa, estoy seguro que lo podéis solucionar con un bucle infinito: #include <iostream> int main(int argc, char** argv) { for( ; ; ) { //Hacer algo. //Condición para salir if(algo) break; } return 0; }
Un cordial saludo.
|
|
« Última modificación: 27 Agosto 2014, 21:05 pm por avesudra »
|
En línea
|
Regístrate en
|
|
|
Mario Olivera
Desconectado
Mensajes: 108
Ser loco es pensar diferente.
|
Hola desde ya gracias por las ayudas que he recibido, lo de system ya lo tengo solucionado, pero lo de llamar a main no, explico un poquito que archivos tengo... Tengo 3 archivos en mi proyecto uno llamado main.cpp, otro cabezal.h donde se muestran las funciones que tiene y un cabezal.cpp que describe las funciones... bueno desde el archivo cabezal quiero llamar a main, en un if, de un función miembro de la clase que esta en el cabezal,.cpp y la verdad es que no se como, si alguien podría ayudarme se lo agradecería, Saludos
|
|
« Última modificación: 28 Agosto 2014, 00:00 am por 718208 »
|
En línea
|
|
|
|
avesudra
Desconectado
Mensajes: 724
Intentando ser mejor cada día :)
|
Hola desde ya gracias por las ayudas que he recibido, lo de system ya lo tengo solucionado, pero lo de llamar a main no, explico un poquito que archivos tengo... Tengo 3 archivos en mi proyecto uno llamado main.cpp, otro cabezal.h donde se muestran las funciones que tiene y un cabezal.cpp que describe las funciones... bueno desde el archivo cabezal quiero llamar a main, en un if, de un función miembro de la clase que esta en el cabezal,.cpp y la verdad es que no se como, si alguien podría ayudarme se lo agradecería, Saludos No te lo aconsejo pero como veas, fíjate que te vas a quedar en una llamada infinita: if(/*condición*/) { main(); }
Estoy completamente seguro de que tu código podría organizarse de manera de que no te haga falta dicha llamada. Un saludo.
|
|
« Última modificación: 28 Agosto 2014, 00:17 am por avesudra »
|
En línea
|
Regístrate en
|
|
|
Mario Olivera
Desconectado
Mensajes: 108
Ser loco es pensar diferente.
|
Muchas gracias por sus ayudas, he podido llamar a main(), pero te hice caso avesundra y busque otra forma de que se repita lo que queria y lo logre, nada más que decir que GRACIAS
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[Solucionado] Como Hacer para llamar a un form desde otra instancia del programa
Programación Visual Basic
|
agus0
|
4
|
5,866
|
16 Enero 2010, 22:53 pm
por Hasseds
|
|
|
main para unicode [solucionado]
Programación C/C++
|
kworld
|
0
|
1,798
|
1 Junio 2010, 11:40 am
por kworld
|
|
|
[cagada]: gcc main.c -o main.c. posibilidad de recuperar codigo fuente??
Programación C/C++
|
xiruko
|
5
|
4,804
|
3 Agosto 2012, 06:29 am
por xiruko
|
|
|
[SOLUCIONADO][Ayuda]Parametros en la funcion main con Geany, C++
Programación C/C++
|
darking664
|
4
|
4,792
|
8 Septiembre 2013, 03:42 am
por darking664
|
|
|
Me pueden ayudar con este programa? No se como llamar a una función a main
Programación C/C++
|
Draykho
|
1
|
2,269
|
15 Julio 2016, 04:02 am
por engel lex
|
|