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

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

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

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

09.11.2012, 20:46. Просмотров 931. Ответов 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 для отсчета времени
Посмотрите здесь:

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

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

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

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