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

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

Восстановить пароль Регистрация
 
Noobass
0 / 0 / 0
Регистрация: 15.10.2012
Сообщений: 100
09.11.2012, 20:46     Цикл while для отсчета времени #1
Ребят, я вот разбирал программу, которая отсчитывает время. Механизм довольно-таки простой и понятный, однако есть одна загвоздка, которую я так и не уяснил:
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 для отсчета времени
Посмотрите здесь:

C++ Цикл для генерации нескольких синусоид
C++ секундомер для подсчёта времени
Цикл для обьектов C++
C++ Бесконечный цикл с повторением через промежуток времени
Изменить порядок отсчета в цикле на обратный C++
C++ Почему не работает цикл while для заполнения и do while для вывода массива?
Цикл для суммы произведений C++
C++ Базовый тип для времени в С++
Цикл for заканчивает работу раньше времени C++
C++ Ограничитель времени для игры
Диапазон времени для будильника C++
C++ Цикл для задания последовательности

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
12279 / 6966 / 784
Регистрация: 27.09.2012
Сообщений: 17,277
Записей в блоге: 2
Завершенные тесты: 1
09.11.2012, 20:52     Цикл while для отсчета времени #2
while(текущее_время-время_старта<задержка);
В данном случае (текущее_время-время_старта) это кол-во "времени", прошедшего с момента старта
ValeryS
Модератор
6412 / 4878 / 447
Регистрация: 14.02.2011
Сообщений: 16,171
09.11.2012, 20:54     Цикл while для отсчета времени #3
clock() получает системное время
сначала получил какое то время и запомнил его в переменной start
потом получаешь какое то время и вычитаешь из него первое время и пока разность меньше delay
то выполняется цикл
Yandex
Объявления
09.11.2012, 20:54     Цикл while для отсчета времени
Ответ Создать тему
Опции темы

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