- 464
- 129
это консольное приложение, которое считает сколько миллисекунд прошло с момента нажатия z, до следующего нажатия z. Вопрос в том, как сделать чтобы начало считать время, пока нажата клавиша z, и перестало считать, когда клавишу z отпустили?
ПЫ.СЫ. не нужно писать что код говно, и то что максимум он посчитает правильно до 59999ms, это я могу исправить
желательно отвечайте полным ответом, с кодом
ПЫ.СЫ. не нужно писать что код говно, и то что максимум он посчитает правильно до 59999ms, это я могу исправить
желательно отвечайте полным ответом, с кодом
C++:
#include <windows.h>
#include <stdio.h>
#include <conio.h>
#include <iostream>
using namespace std;
int main()
{
cout << "press z key to start timer" << endl;
int hueta1, hueta2;
char k = _getch();
switch(k)
{
case 122:
cout << "timer launched..." << endl;
SYSTEMTIME st;
GetLocalTime(&st);
int sec1 = st.wSecond;
int ms1 = st.wMilliseconds;
for (int i = 0; i != sec1; i++)
{
ms1 += 1000;
hueta1 = ms1;
}
cout << "press z key to stop timer" << endl;
char k = _getch();
switch (k)
{
case 122:
cout << "timer stopped" << endl;
SYSTEMTIME st;
GetLocalTime(&st);
int ms2 = st.wMilliseconds;
int sec2 = st.wSecond;
for (int i = 0; i != sec2; i++)
{
ms2 += 1000;
hueta2 = ms2;
}
if (hueta1 < hueta2)
{
int i = hueta2 - hueta1;
cout << i << "ms" << endl;
}
if (hueta1 > hueta2)
{
int i = 60000 - hueta1 + hueta2;
cout << i << "ms" << endl;
}
break;
}
}
_getch();
return 0;
}