使用C ++输出到Console窗口

时间:2015-10-25 02:00:07

标签: c++ loops if-statement file-io nested-loops

所以我是C ++的新手,我希望社区可以帮助我完成我的作业。现在我不要求有人为我做这件事,因为我非常有能力独自完成这件事,我只是在特定部分寻求帮助。所以,我的任务涉及制作一个程序,能够找到并打印2到100之间的所有素数。我必须使用双循环(我的教授所说的),所以我设置了一个if语句给运行从2到100的所有数字,并在第一个数字内部进行第二个循环,以确定当前数字是否为素数,然后打印出来。这是我的问题发挥作用的地方,当我运行它时,它会打开控制台窗口并快速关闭它,我无法看到是否有任何打印到它。所以我添加了一个断点,看看是否有。当我按F5进入下一步时,它会循环一次,然后开始跳转到不同的窗口,读取不同源文件的行(我认为它们是源文件)。最终控制台窗口关闭,没有任何打印到它,它不会像它应该的那样重新开始循环。我的问题是这个,就像在Visual Basic中你可以放入console.readline()所以必须从键盘上按下按钮才能继续,你怎么能在C ++中做同样的事情,以便在循环之后看看是否数字是素数运行并打印数字,程序将等待一个键被打印后立即按下?

以下是我目前的代码如下,再次感谢您的帮助,我真的很感激。

#include "stdafx.h"
#include<iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
int counter=2;
int primeCounter=counter;
//two variables, one to keep track of the number we are one, the other to check to see if its prime.
if(counter<101)
{//I want the counter to increment by 1 everytime the loops runs until it gets to 100.
    if(!(counter%(primeCounter-1)==0))//if the counter has a remainer, then it is prime
    {//each time the main loop run i want this loop to run too so it can check if it is a prime number and then print it.

        cout<<counter<<endl;
    //if this was VB, here is where i would want to have my console.Readline()
    }
    else
    {

    }
    counter+=1;
}
else
{

}   

4 个答案:

答案 0 :(得分:4)

由于您使用的是Visual Studio,因此只需使用 Ctrl + F5 即可运行程序而无需调试。这样,控制台窗口在程序完成后停留。

或者,您可以从命令行运行该程序。

或者您可以在}的最后main上放置一个断点并在调试器中运行它。

最后在最后添加“停在这里”是个好主意。

如果要查看生成的每一行输出,只需在输出语句后面放置一个断点,然后在Visual Studio keypress F5 中的调试器中运行该程序。

顺便说一下,<stdafx.h>不是标准标题。它支持Visual C ++预编译头,这是一种产生非常标准的预处理器行为的功能。最好在项目设置中关闭它,并删除>stdafx.h> include。

另外

int _tmain(int argc, _TCHAR* argv[])

是一个愚蠢的非标准微软主义,曾一度支持Windows 9x,但除了供应商锁定之外不再有任何其他目的。

只需编写标准

int main()

或使用尾随返回类型语法

auto main() -> int

最后,而不是

!(counter%(primeCounter-1)==0)

写一下

counter%(primeCounter-1) != 0

答案 1 :(得分:1)

cin.get()会做你想做的事。

答案 2 :(得分:0)

在Visual Studio中,您实际上可以在需要暂停应用的位置拨打system("pause");

答案 3 :(得分:0)

所以我想出了我的问题。首先,循环没有运行,因为第一个if语句没有循环。我改变了一段时间,现在输出就像一个魅力。看看

#include "stdafx.h"
#include<iostream>

using namespace std;

int main()
{
int counter=2;
int primeCounter=counter;
//two variables, one to keep track of the number we are one, the other to check to see if its prime.
while(counter<101)
{//I want the counter to increment by 1 everytime the loops runs until it gets to 100.
    if((counter%(primeCounter-1)==0))//if the counter has a remainer, then it is prime
    {//each time the main loop run i want this loop to run too so it can check if it is a prime number and then print it.



    }
    else
    {
        cout<<counter<<endl;
    }
    counter+=1;
    primeCounter=counter;
}


}

现在我只需要对条件进行修正以实际找出素数。再次感谢您的帮助。!!!!