С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 51, средняя оценка - 4.67
dimkaok
1 / 1 / 0
Регистрация: 06.03.2013
Сообщений: 128
#1

Секундомер на С++ - C++

11.03.2013, 18:42. Просмотров 8839. Ответов 5
Метки нет (Все метки)

Добрый день. Подскажите, как написать простейший консольный секундомер на с++ без использования сторонних библиотек. Нужно, чтобы при вызове функции начинался отсчет времени (и отображался в консоли) и при нажатии на определенную кнопку он завершался, а время присваивалось переменной
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.03.2013, 18:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Секундомер на С++ (C++):

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

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

Секундомер. - C++
Знаю подобные темы уже рассматривались на форуме, но ни в одной из них я не нашел ответа мой вопрос... Как организовать секундомер что бы...

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

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

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

5
DiffEreD
1431 / 768 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
11.03.2013, 19:16 #2
Набросал по быстрому некий пример, но думаю что найдется решения и по лучше.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
#include <thread>
#include <chrono>
 
int main()
{
    setlocale (0, "Russian");
    std::cout<<"Нажимайте пробел для запуска и приостановки секундомера\n";
    char ch;
    auto start = std::chrono::high_resolution_clock::now();
    auto stop = start;
    while (true)
    {
        if (std::cin.get(ch) && ch == ' ')
        {
            start = std::chrono::high_resolution_clock::now();
            std::cin.get();
            std::cout<<"START\n";
        }
        if (std::cin.get(ch) && ch == ' ')
        {
            stop = std::chrono::high_resolution_clock::now();
            std::cin.get();
            std::cout<<"STOP";
            std::cout<<"\nTime: "<<std::chrono::duration_cast<std::chrono::seconds>(stop-start).count()
           <<" seconds\n";
        }
        std::this_thread::sleep_for(std::chrono::milliseconds(100));
    }
   return 0;
}
1
srg_btl
34 / 34 / 2
Регистрация: 21.02.2013
Сообщений: 90
11.03.2013, 19:20 #3
C++
1
2
3
4
5
6
#include <ctime>
...
clock_t t0 = clock();
//что-нить делаем
clock_t t1 = clock();
cout << "time: " << (double)(t1 - t0) / CLOCKS_PER_SEC << endl;
4
dimkaok
1 / 1 / 0
Регистрация: 06.03.2013
Сообщений: 128
11.03.2013, 19:38  [ТС] #4
Цитата Сообщение от yuron_477 Посмотреть сообщение
Набросал по быстрому некий пример, но думаю что найдется решения и по лучше.
Код C++

#include <iostream>
#include <thread>
#include <chrono>
int main()
{
* * setlocale (0, "Russian");
* * std::cout<<"Нажимайте пробел для запуска и приостановки секундомера\n";
* * char ch;
* * auto start = std::chrono::high_resolution_clock::now();
* * auto stop = start;
* * while (true)
* * {
* * * * if (std::cin.get(ch) && ch == ' ')
* * * * {
* * * * * * start = std::chrono::high_resolution_clock::now();
* * * * * * std::cin.get();
* * * * * * std::cout<<"START\n";
* * * * }
* * * * if (std::cin.get(ch) && ch == ' ')
* * * * {
* * * * * * stop = std::chrono::high_resolution_clock::now();
* * * * * * std::cin.get();
* * * * * * std::cout<<"STOP";
* * * * * * std::cout<<"\nTime: "<<std::chrono::duration_cast<std::chrono::seconds>(stop-start).count()
* * * * * *<<" seconds\n";
* * * * }
* * * * std::this_thread::sleep_for(std::chrono::milliseconds(100));
* * }
* *return 0;
}
А можно как-то сделать, чтобы таймер отображался в реальном времени?
0
Игорь с++
437 / 460 / 16
Регистрация: 26.01.2011
Сообщений: 2,033
11.03.2013, 21:47 #5
блин тут на этом форуме этих секундомеров как собак
0
NiJeTi
0 / 0 / 0
Регистрация: 08.01.2014
Сообщений: 12
08.01.2014, 13:48 #6
C++
1
2
3
4
5
6
for(int sec = 0;; sec++)
    {
        system("cls");
        cout << sec << "sec";;
        Sleep(970);
    }
Sleep(970), а не 1000, потому что 30 мсек уходит на обработку. А с 1000 у вас будет не точно.
0
08.01.2014, 13:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.01.2014, 13:48
Привет! Вот еще темы с ответами:

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

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

Секундомер и thread-safe - C++
В моей программе мне нужно отслеживать время по секундам. Я сделал следующее: создал доп. поток, в котором вызывается методом с телом: ...

Секундомер с выводом на экран - C++
доброго времени суток. подскажите пожалуйста как сделать секундомер, что бы при нажатии кнопки он остановился пробывал так, оно не...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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