Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.79/63: Рейтинг темы: голосов - 63, средняя оценка - 4.79
-6 / 3 / 0
Регистрация: 16.04.2011
Сообщений: 55

Секундомер.

02.05.2011, 15:25. Показов 13105. Ответов 32
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Знаю подобные темы уже рассматривались на форуме, но ни в одной из них я не нашел ответа мой вопрос...
Как организовать секундомер что бы он начал счет в конкретный момент выполнения программы и закончил считать в нужный момент, записав результат в переменную ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.05.2011, 15:25
Ответы с готовыми решениями:

секундомер
Здравствуйте госпола програмисты!У меня такой вопрос-как сделать секундомер,что бы он не зависел от программы?грубо говоря он находиться в...

Секундомер
Пытаюсь написать секундомер, только вот не знаю как остановить его по нажатию клавиши и вернуть текущий результат: #include...

секундомер
Здраствуйте! Мне задали на практику составить программу «Секундомер», позволяющую записывать результаты соревнований и сохранять их в базу,...

32
-6 / 3 / 0
Регистрация: 16.04.2011
Сообщений: 55
02.05.2011, 18:10  [ТС]
Студворк — интернет-сервис помощи студентам
Зачем вам вообще все это?
у меня например, тема курсовой "Сапер", вот мне и надо для сохранения результатов игры записать время потраченное на одну игру(статистика рекордов так сказать).
Ну зачем измерять время выполнения функции которая считает время выполнения себя же?
0
Заблокирован
02.05.2011, 18:25
pSychOo, тогда я не понял чё тебе вообще надо
0
-6 / 3 / 0
Регистрация: 16.04.2011
Сообщений: 55
02.05.2011, 18:29  [ТС]
Мне нужно было разобраться в том как оно все устроено, мне объяснили по человечески, за что и большое спасибо ValeryLaptev.
0
 Аватар для RUSya82
242 / 120 / 14
Регистрация: 15.10.2010
Сообщений: 395
02.05.2011, 19:55
Не проще GetLocalTime использовать?
0
Эксперт С++
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
02.05.2011, 19:58
Цитата Сообщение от RUSya82 Посмотреть сообщение
Не проще GetLocalTime использовать?
Чел в С++ еле начал разбираться, а ты его WinAPI по башке...
0
 Аватар для RUSya82
242 / 120 / 14
Регистрация: 15.10.2010
Сообщений: 395
02.05.2011, 20:01

Сапёр - неплохо для начинающего
0
-6 / 3 / 0
Регистрация: 16.04.2011
Сообщений: 55
02.05.2011, 20:32  [ТС]
Ага, точно! тем более что я его уже почти закончил,только и осталось добавить возможность формирования рейтинга лучших игроков
А вопрос только потому и возник что раньше не доводилось работать с временем
Но API для меня и вправду многовато... Нас такому не учили, а что бы самому ради интереса разбираться..не тот я человек.
0
 Аватар для RUSya82
242 / 120 / 14
Регистрация: 15.10.2010
Сообщений: 395
02.05.2011, 20:44
Цитата Сообщение от pSychOo Посмотреть сообщение
Ага, точно! тем более что я его уже почти закончил,только и осталось добавить возможность формирования рейтинга лучших игроков
Молодец!

Цитата Сообщение от pSychOo Посмотреть сообщение
Но API для меня и вправду многовато...
Да я то не предлагаю тебе WinAPI изучать, просто предложил воспользоваться одной функцией, вот и всё.
0
-6 / 3 / 0
Регистрация: 16.04.2011
Сообщений: 55
03.05.2011, 11:00  [ТС]
Ну обдумать это можно.
Как эта функция работает?
0
 Аватар для RUSya82
242 / 120 / 14
Регистрация: 15.10.2010
Сообщений: 395
04.05.2011, 17:44
Функция GetLocalTime(&st) записывает в переменную типа структуры SYSTEMTIME, в данном случае st, текущее системные дату и время, на момент вызова функции. То есть, если вызвать её перед началом фрагмента кода, время выполнения которого надо найти, и в конце, то мы сможем найти время её выполнения. Пример:
C++
1
2
3
4
5
6
7
8
9
SYSTEMTIME st1,st2;//объявим две переменные типа SYSTEMTIME
GetLocalTime(&st1);//записываем в первую текущее системное время
...............
..............//здесь код, или функция, время выполнения которого надо замерить
GetLocalTime(&st2);//записываем во вторую переменную время окончания
     long double T1 = (long double)(st1.wHour*60*60*1000 + st1.wMinute*60*1000 + st1.wSecond*1000 + st1.wMilliseconds); //âû÷èñëÿåì âðåìÿ
    long double T2 = (long double)(st2.wHour*60*60*1000 + st2.wMinute*60*1000 + st2.wSecond*1000 + st2.wMilliseconds);
     cout << "Время выполнения функции: ";
     cout << (T2 - T1) << " Миллисекунд" << endl;//выводим на экран время выполнения
Определение структуры SYSTEMTIME:
typedef struct _SYSTEMTIME
{
WORD wYear; // Указывает текущий год
WORD wMonth; // Текущий месяц; Январь = 1, Февраль = 2, и так далее
WORD wDayOfWeek; // Текущий день недели; Воскресенье = 0, Понедельник = 1, и так далее.
WORD wDay; // Текущий день месяца.
WORD wHour; // Час.
WORD wMinute; // Минуты.
WORD wSecond; // Секунды.
WORD wMilliseconds; // Миллисекунды.
} SYSTEMTIME;
И функции GetLocalTime() содержится в файле windows.h
у этого способа один косяк - если пользователь начнет играть скажем в 23:45, а закончит в 00:12, то пересчет будет ошибочным, тогда надо учитывать ещё и сутки.
Есть и более корректный способ - через структуру FILETIME, но честно, я его не знаю. Почитаю - напишу. Написал только то, чем пользовался, так сказать из собственного опыта.
0
-6 / 3 / 0
Регистрация: 16.04.2011
Сообщений: 55
04.05.2011, 19:00  [ТС]
А чем такой метод лучше предыдущего?
0
Brainsbreaker
 Аватар для Digit@ll
899 / 374 / 54
Регистрация: 01.02.2011
Сообщений: 1,608
04.05.2011, 22:15
Та таймер используй и плюсуй его до остановки.
Не, пацаны, что вы городите? )
0
-6 / 3 / 0
Регистрация: 16.04.2011
Сообщений: 55
04.05.2011, 22:21  [ТС]
Цитата Сообщение от ValeryLaptev Посмотреть сообщение
То есть, дважды вызвали clock()? потом отняли от второго первое - получили количество тиков между вызовами. И делим на константу CLOCKS_PER_SEC specifies the relation between a clock tick and a second (clock ticks per second) - количество тиков в секунду.
Это как по мне самый удобный вариант.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.05.2011, 22:21

Секундомер на С++
Добрый день. Подскажите, как написать простейший консольный секундомер на с++ без использования сторонних библиотек. Нужно, чтобы при...

Секундомер
Доброго времени суток. Проверьте пожалуйста программу, работающую аналогично секундомеру. Вот я сделал программу С++, но не...

Секундомер
Народ нужна помощь Задачка такая: нужно сделать Секундомер как в электронных часах ввиде: 00:00 когда будет 00:59 нужно что бы...

Секундомер
Сделал такой небольшой код, что-то на подобии теста на сколько быстро вы печатаете. Никак до меня не дойдет как сюда секундомер влепить?...

секундомер или таймер
Добрый вечер, есть определённые действия, которые нельзя выполнять, пока не пройдёт определённый кд, как это настроить (что бы программа не...


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

Или воспользуйтесь поиском по форуму:
33
Ответ Создать тему
Новые блоги и статьи
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы. Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru