Título: Ejecutar programas en Windows sin necesidad de pausas (system (pause) etc) Publicado por: Akai en 5 Octubre 2010, 12:20 pm [El código de los dos programas usados en este pequeño tutorial se encuentran al final del post [codi]]
Para muchos se que no estoy contando nada nuevo, pero el motivo de este post es sobretodo para gente que empieza a programar, especialmente para aquellos que creen necesitar agún tipo de pausa al ejecturar programas para ver resultados (system(pause), getchar, getch etc). Para este problema se nos plantean, entre otras, dos soluciones:
Vía Code::Blocks [cdbl] Code::Blocks es un IDE (entorno de desarrollo) con compilador (podemos elegir qué compilador usar), open source, cross plataform y gratuito. Una de sus muchas ventajas, es que cuando compilamos y ejecutamos un programa en este IDE, el propio entorno retiene la ventana mostrando el return y el tiempo empleado en la ejecución del programa (tiempo total, no sólo de ejecución de instrucciones, cuenta también el tiempo que tardamos en introducir datos vía scanf, cin y demás instrucciones que nos soliciten que pulsemos algo). Dado que esto no es un manual de como usar Code::Blocks, me centraré en la compilación y ejecución con este entorno. Supongamos que tenemos ya un programa creado en Code::Blocks: (http://img826.imageshack.us/img826/7480/code1.th.jpg) (http://img826.imageshack.us/i/code1.jpg/) El recuadro rojo señala donde debemos hacer click para compilar y/o ejecutar nuestro programa. En la siguiente imagen muestro como hacer lo mismo vía el menú "Build". (http://img192.imageshack.us/img192/2830/code2.th.jpg) (http://img192.imageshack.us/i/code2.jpg/) El resultado de ambas es la siguiente, donde vemos que el programa se ha ejecutado, nos ha dado unos resultados y Code::Blocks lo ha detenido. (http://img32.imageshack.us/img32/802/code3e.th.jpg) (http://img32.imageshack.us/i/code3e.jpg/) Vía consola de windows [cmdw] Otra solución reside en ejecutar los programas vía el cmd de Windows. A diferencia de si hiciésemos doble click en el programa ya compilado (que abriría una ventana y la cerraría inmediatamente después de su uso) ejecutarlo de esta forma permite visualizar los textos, resultados etc que el programa imprima por pantalla sin que desaparezca en un instante. Procedo a explicar como: Asumamos que ya tenemos nuestro programa compilado y deseamos probarlo. Para ello, vamos al menú inicio y buscamos cmd: (http://img405.imageshack.us/img405/3556/cmd1.th.jpg) (http://img405.imageshack.us/i/cmd1.jpg/) Le damos a Enter y nos aparecerá una ventana similar a esta: (http://img839.imageshack.us/img839/2897/cmd2d.th.jpg) (http://img839.imageshack.us/i/cmd2d.jpg/) En principio la ruta en la que nos encontramos es la de nuestro usuario, pudiendonos mover de directorio con el comando cd y obtener el contenido de un directorio con el comando dir: (http://img101.imageshack.us/img101/1511/cmd3.th.jpg) (http://img101.imageshack.us/i/cmd3.jpg/) Una vez nos encontramos en el directorio de nuestro programa, procedemos a ejecutarlo de la siguiente forma: nombre del programa.extensión argumento 1 argumento 2.... En este caso, el programa recibe un archivo txt como argumento: (http://img825.imageshack.us/img825/6031/cmd4.th.jpg) (http://img825.imageshack.us/i/cmd4.jpg/) y el resultado de la ejecución es: (http://img705.imageshack.us/img705/9159/cmd5.th.jpg) (http://img705.imageshack.us/i/cmd5.jpg/) Conclusión Como habréis podido observar, es bastante sencillo ejecutar programas sin necesidad de instrucciones para detenerlos al finalizar, ahorrando instrucciones como system (pause), getchar, getch ( y por ende, NO necesitamos conio.h (como librería obsoleta)). ¿Comentarios, dudas, sugerencias, feedback en general? [codi] class_pila.cpp Código
class_pila2.cpp Código
contenido de class_pila.txt: Código: 1 Título: Re: Ejecutar programas en Windows sin necesidad de pausas (system (pause) etc) Publicado por: Garfield07 en 5 Octubre 2010, 20:00 pm Fff por fin un post para que la gente deje de usar conio.h o stdlib.h para system ()... cuando se programa en C no se programa en Batch xD...
Gracias Título: Re: Ejecutar programas en Windows sin necesidad de pausas (system (pause) etc) Publicado por: flony en 16 Octubre 2010, 19:18 pm si es verdad los que salimos del bat se nos hace dificil si no tenemos pause....para ver q esta haciendo el code
|