Как завершить & quot; Загрузка … & quot; программа с 3 точками, используя C ++?

Возможно, вы видели во многих местах «Загрузка …«где 3 точки (или больше), а именно:« … », сначала появляются одна за другой, затем, после отображения всех точек, они исчезают и снова появляются одна за другой (итого всего 2 раза) и выходят.

Разработать: —

Этап 1:

Загрузка.

Этап 2:

Загрузка ..

Этап 3:

Loading …

Затем он повторяется второй раз, после чего он заканчивается!

Итак, для этого я подготовил программу на 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 ++ Compiler, поскольку я не слишком осведомлен о ANSI C ++ !! :П

ПРИМЕЧАНИЕ: ЭТО НЕ ДУБЛИРУЮЩИЙ ВОПРОС, ПОЭТОМУ НЕ МАРКИРУЙТЕ ЕЕ ДУБЛИКАТ !!!

Заранее спасибо! 🙂

-1

Решение

повторяется второй раз, после чего заканчивается

Разве тебе не нужен 2 где-нибудь в программе для этого?

Возможно, где-то прямо в for (;;)? Похож на другой for в вашей программе …

Несколько риторических вопросов:

  • что ты думаешь for (;;) делает?
  • почему вы думаете, что ограничивать себя компилятором Turbo C ++ — это хорошая идея?
1

Другие решения

Вы написали for(;;), Почему бы это прекратить? Это бесконечный цикл.

Если вы хотите, чтобы внешний цикл запускался только 2 раза, почему бы и нет for(int j = 0; j < 2; ++j){other loop}

0

#include <iostream.h>
#include <time.h>
#include<dos.h>
int main()
{
cout << "Loading";
cout.flush();
//The outer "for" didn't stop in your case, use this:
for (int iterations = 0; iterations < 2; ++iterations) {
for (int i = 0; i < 3; i++) {
cout << ".";
cout.flush();
sleep(1);
}
cout << "\b\b\b   \b\b\b";
}

return 0;
}
0

У вас есть как минимум два варианта:

  1. замещать for(;;) с

    for(int j=0; j < 2; ++j)
    {
    /*inner loop here*/
    }

  2. Покидать for(;;) как есть, но вместо этого сделайте следующее:

    int loopcount = 0;
    for(;;) /* your loop */
    {
    /* add this after inner loop */
    ++loopcount;
    if(loopcount > 1)
    break;
    }

0
По вопросам рекламы [email protected]