Возможно, вы видели во многих местах «Загрузка …«где 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 ++ !! :П
ПРИМЕЧАНИЕ: ЭТО НЕ ДУБЛИРУЮЩИЙ ВОПРОС, ПОЭТОМУ НЕ МАРКИРУЙТЕ ЕЕ ДУБЛИКАТ !!!
Заранее спасибо! 🙂
повторяется второй раз, после чего заканчивается
Разве тебе не нужен 2
где-нибудь в программе для этого?
Возможно, где-то прямо в for (;;)
? Похож на другой for
в вашей программе …
Несколько риторических вопросов:
for (;;)
делает?Вы написали for(;;)
, Почему бы это прекратить? Это бесконечный цикл.
Если вы хотите, чтобы внешний цикл запускался только 2 раза, почему бы и нет for(int j = 0; j < 2; ++j){other loop}
#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;
}
У вас есть как минимум два варианта:
замещать for(;;)
с
for(int j=0; j < 2; ++j)
{
/*inner loop here*/
}
Покидать for(;;)
как есть, но вместо этого сделайте следующее:
int loopcount = 0;
for(;;) /* your loop */
{
/* add this after inner loop */
++loopcount;
if(loopcount > 1)
break;
}