在我的C++书籍示例中,我使用了系统(“暂停”)来保持屏幕打开,这是我从操作系统学习的作业。现在我从我的书中使用exit()并根据true或false屏幕消失的示例。如果我退出exit()程序继续计算(这就是为什么作者放入exit())但是如何解决这个问题?我正在为Windows桌面使用Microsoft VS C++ Express 2012。保持屏幕打开
//prime.cpp
// demonstrates IF statement with prime numbers
#include <iostream>
using namespace std;
#include <process.h> //for exit()
int main()
{
unsigned long n,j;
cout << "Enter a number: ";
cin >>n; //get number to test
for (j=2; j<= n/2; j++) //divide by integer from
if(n%j==0) //2 on up; if remainder is 0,
{ //it's divisible by j
cout <<"It's not prime; divisible by " <<j<<endl;
exit (0); //exit from program
}
cout <<"It's prime\n";
system ("pause"); //the only way I can get screen to stay open
return 0;
}
如果答案是素数,则工作正常。如果回答是一个非主屏幕,就会眨眼。如果我删除退出()我得到这个结果:
输入数字:8 它不是素数; 2被整除 它不是素数;可被4整除 它是素数 按任意键继续。 。 。
我同意程序是好的。但直到现在,我已经完成了书本练习并保持屏幕打开,但是使用新代码:exit()在IF语句为true时关闭。作为一个noob,我不确定你的意思是“从终端运行它”,但我通过尝试了解它们提供的响应来学习很多,谢谢! –
@AigaigaShearer:你正在写终端程序,而不是GUI程序。但是你从一个GUI,而不是一个终端运行它们。所以有些东西正在为程序运行创建一个临时终端。如果你真的从终端上运行它们,它们会使用现有的终端,并且不会有新的屏幕消失。您可以通过在运行栏中输入“cmd”来在Windows中获得终端。 –