如何使用C ++显示3点动画显示“正在加载...”?

时间:2013-06-16 10:09:09

标签: c++ turbo-c++

你可能已经在许多地方看到“正在加载...... ”3点(或更多),即。 “......”,首先逐一出现,然后在显示所有点后,它们逐渐消失并再一次出现(因此,总共2次)。

详细说明: -

第1阶段:

  

装载。

第二阶段:

  

中..

第3阶段:

  

加载...

     

然后,它重复第二次!然后终止!

所以,为此,我准备了一个C ++程序,其源代码是:

#include <iostream.h>
#include <time.h>
#include<dos.h>
int main()
{
    cout << "Loading";
    cout.flush();
    for (;;) {
        for (int i = 0; i < 3; i++) {
            cout << ".";
            cout.flush();
            sleep(1);
        }
        cout << "\b\b\b   \b\b\b";
    }

    return 0;
}

此程序未终止。它不会停止!如何编辑它以使其终止?

请发布 Turbo C ++编译器支持的代码,因为我对ANSI C ++并不太了解!! :P

Gguys,请帮帮我吗? :)

先谢谢! :)

2 个答案:

答案 0 :(得分:2)

为什么不使用退格键删除这些点?

#include <iostream>
#include <ctime>

using namespace std;

int main()
{
    cout << "Loading";
    cout.flush();
    for (;;) {
        for (int i = 0; i < 3; i++) {
            cout << ".";
            cout.flush();
            sleep(1);
        }
        cout << "\b\b\b   \b\b\b";
    }

    return 0;
}

答案 1 :(得分:0)

我会使用“回车”来寻找以下解决方案:

for (int j = 0; j < 3; j++) {
   cout << "\rLoading   \rLoading";
   for (int i = 0; i < 3; i++) {
      cout << ".";
      sleep(300);
   }
}

这会将当前行(带有所有点)和重新定位光标覆盖在“正在加载”的末尾。

BTW,此处的睡眠值以毫秒为单位。如果你的时间在几秒钟之内,你可能需要改变它。

另外,在你的程序中,你有运行i的嵌套循环 - 我怀疑这是否会按预期工作......