Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Noobass
0 / 0 / 0
Регистрация: 15.10.2012
Сообщений: 100
#1

Цикл while для отсчета времени - C++

09.11.2012, 20:46. Просмотров 970. Ответов 2
Метки нет (Все метки)

Ребят, я вот разбирал программу, которая отсчитывает время. Механизм довольно-таки простой и понятный, однако есть одна загвоздка, которую я так и не уяснил:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
    cout<<"Join the time: ";
    float secs;
    cin>>secs;
    clock_t delay=secs*CLOCKS_PER_SEC;
    cout<<"Start!\a\n";
    clock_t start=clock();
    while(clock()-start<delay);
    cout<<"Done!\a\n";
    system("pause");
    return 0;
}
Вот код, а мой вопрос заключается в следующей строке:
C++
1
while(clock()-start<delay);
Немогу понять условие цикла, точнее, не понимаю, зачем там clock()? Я пробовал убирать функцию, оставляя условие start<delay (типо цикл не останавливается до тех пор, пока delay больше start), но при таком раскладе прога просто не останавливается. Одним словом, объясните мне, почему условие имеет такой вид?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2012, 20:46     Цикл while для отсчета времени
Посмотрите здесь:
Цикл for заканчивает работу раньше времени C++
C++ Бесконечный цикл с повторением через промежуток времени
C++ Почему не работает цикл while для заполнения и do while для вывода массива?
Изменить порядок отсчета в цикле на обратный C++
Цикл для обьектов C++
C++ Базовый тип для времени в С++
Диапазон времени для будильника C++
C++ секундомер для подсчёта времени
C++ Ограничитель времени для игры
C++ Условие для ночного времени
Цикл для суммы произведений C++
C++ Цикл для задания последовательности

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
12979 / 7291 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
09.11.2012, 20:52     Цикл while для отсчета времени #2
while(текущее_время-время_старта<задержка);
В данном случае (текущее_время-время_старта) это кол-во "времени", прошедшего с момента старта
ValeryS
Модератор
6539 / 5005 / 461
Регистрация: 14.02.2011
Сообщений: 16,648
09.11.2012, 20:54     Цикл while для отсчета времени #3
clock() получает системное время
сначала получил какое то время и запомнил его в переменной start
потом получаешь какое то время и вычитаешь из него первое время и пока разность меньше delay
то выполняется цикл
Yandex
Объявления
09.11.2012, 20:54     Цикл while для отсчета времени
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru