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

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

Войти
Регистрация
Восстановить пароль
 
I love myguitar
4 / 4 / 1
Регистрация: 23.10.2012
Сообщений: 233
#1

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

05.12.2013, 22:50. Просмотров 1195. Ответов 3
Метки нет (Все метки)

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

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>  
#include <windows.h>
#include <time.h>
using namespace std;
 
void Counter(int min, int max){
        for(k=min;k<max;k++){
            cout<<k<<" ";
            Sleep(10);
        system("cls");
    }
}
int main(){
    Counter(1,100);
}
Добавлено через 45 секунд
!kbhit вроде не то
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.12.2013, 22:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Секундомер (C++):

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

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

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

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

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

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

3
Ev[G]eN
iOS/Android Developer
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
06.12.2013, 00:32 #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
32
33
34
35
36
37
38
#include <Windows.h>
#include <iostream>
#include <clocale>
 
int main()
{
    std::setlocale(0, "");
    std::cout << "Для запуска секундомера нажмите <Enter>!" << std::endl;
    std::getchar();
 
    size_t millisecondsCounter(0);
    size_t secondsCounter(0);
    size_t minutesCounter(0);
 
    char isStopCounter;
    while (true) {
        std::system("cls");
        std::cout << "Секундомер: " << std::endl;
        std::cout << minutesCounter << " минут(а) " << (secondsCounter) << " секунд(a/ы) " << (millisecondsCounter++) << " миллисекунд";
        if (millisecondsCounter == 10) {
            millisecondsCounter = 0;
            secondsCounter++;
        }
        if (secondsCounter == 60) {
            minutesCounter++;
            secondsCounter = 0;
        }
        if (!(minutesCounter % 1) && (minutesCounter >= 1) && !secondsCounter && !millisecondsCounter) {
            std::cout << std::endl << "Продолжить? (Y / N) --> ";
            std::cin >> isStopCounter;
            if (isStopCounter == 'N' || isStopCounter == 'n')
                break;
        }
    }
 
    std::system("pause");
    return 0;
}
1
I love myguitar
4 / 4 / 1
Регистрация: 23.10.2012
Сообщений: 233
06.12.2013, 00:51  [ТС] #3
Умгу

Добавлено через 7 минут
И еще один вопрос:
неужели using namespace std; - настолько тяжелая библиотека ,что std::->->-->-::std<<endl;
прикольно каждый раз писать?

Я конечно не того еще уровня, что экономить каждый байт
0
DiffEreD
1431 / 768 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
06.12.2013, 01:37 #4
Когда то писал такое, вот (на С++11):
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 <iomanip>
#include <thread>
#include <chrono>
#include <conio.h>
 
int main()
{
   auto start = std::chrono::high_resolution_clock::now();
   unsigned minutes, seconds, milliseconds;
   while (true)
   {
       milliseconds = std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::high_resolution_clock::now()-start).count();
       seconds = milliseconds/1000;
       milliseconds %= 100;
       minutes = seconds/60;
       seconds %= 60;
       std::cout<<std::setw(2)<<minutes<<"."<<std::setw(2)<<seconds<<"."<<std::setw(2)<<milliseconds;
       std::this_thread::sleep_for(std::chrono::milliseconds(10));
       std::system("cls");
       if (kbhit())
       {
           std::cout<<"STOP\n";
           std::cin.get();
           break;
       }
   }
   std::cout<<"\nTime: "<<std::setw(2)<<minutes<<"."<<std::setw(2)<<seconds<<"."<<std::setw(2)<<milliseconds<<"\n";
 
   return 0;
}
1
06.12.2013, 01:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.12.2013, 01:37
Привет! Вот еще темы с ответами:

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

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

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

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


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

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

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