Hacer que la consola no se cierre(C++)

E

Hola! Mi duda es la siguiente, cuando hago esto:

#include <iostream>
using namespace std;

int main()
{
cout << "Enter a first whole number"<<endl;

int a;

cin >> a;

cout << "Enter a second whole number"<<endl;

int b;

cin >> b;

cout << "The sum of both is "<<a+b<<endl;

return 0;

}

El ejecutable del archivo debug(esta hecho en C++ IDE Codeblocks), se cierra automaticamente sin dejarme ver el resultado, busque varias opciones pero no me funcionan, queria preguntarles como podria hacer que la consola no se cerrase y me deje ver el resultado.

PD: Soy nuevo en esto y soy autodidacta, asi que si lo ven demasiado sencillo esa es la explicacion :ninjaedit:

B

https://www.programarya.com/Cursos/C++/Ciclos/Ciclo-While

B

Tienes varias opciones:

1) Añadir algun tipo de pause. Puede ser o bien añadiendo un cin de algo o una llamada a pause. Es una guarrada y no mola.

2) Ejecutar el programa desde un terminal. Cuando el programa termine no se cerrará.

3) Configurar el IDE para que desvie el output a un fichero, y abrirlo (o tenerlo abierto y actualizarlo) cada vez que ejecutes el programa. También puedes modificar el propio programa usando freopen/fstream o algo asi, pero creo que de momento olvídate.

varuk

#1 Pon en el MAIN, antes del return 0, último esto:

system("PAUSE");

En el inicio mete este include:

#include <stdlib.h>

Aunque si estás en C++ ponlo en formato de C++ y no de C (se quita el ".h" y se mete una "c" al inicio)

#include <cstdlib>

Así sería:


#include <iostream>
#include <cstdlib>
using namespace std;

int main()
{
cout << "Enter a first whole number"<<endl;

int a;

cin >> a;

cout << "Enter a second whole number"<<endl;

int b;

cin >> b;

cout << "The sum of both is "<<a+b<<endl;

system("PAUSE");
return 0;

}

Verás que en la consola te sale el mensaje: "Press any key to continue..." y ya podrás ver la consola.

1
Fosht

Recuerdo cuando hacía este tipo de programas en ANSI C (imagino que puedes aplicar el mismo sistema en C++) metía un getch() al final con un mensaje rollo "Press any key to continue".

Aquí hay info

1 respuesta
B

#1

#include <stdlib>
#include <iostream>
using namespace std;
int main(){
int a,b;

cout << "Enter a first whole number"<<endl;
cin >> a;

cout << "Enter a second whole number"<<endl;
cin >> b;

cout << "The sum of both is "<<a+b<<endl;


System("pause");

return 0;

}
1
E

Gracias por responder Parnstermia y Varuk que fueron los me mas me ayudaron, de todas maneras gracias a todos. =)

gbpepe

#1 Si es solo para ver el resultado de tu programa, te recomiendo que metas:

while(true){}

O como comentaba #5 un getch();
No te recomiendo system("pause"); porque dependes del operativo, y si te vas a otro SO no te funcionará.

Usuarios habituales