Чуть-чуть доработать секундомер

Сделал вот такой секундомер:
#include <iostream>
#include <Windows.h>
 
using namespace std;
 
const char ESC = 27;
 
class time{
private:
    int hours;
    int minutes;
    int seconds;
public:
    time() : hours(0), minutes(0), seconds(0){}
    void init(){
        cin >> hours >> minutes >> seconds;
    }
    void change(){
        seconds++;
        if(seconds == 60){
            seconds = 0;
            minutes++;
        }
        if(minutes == 60){
            minutes = 0;
            seconds = 0;
            hours++;
        }
        if(hours == 24){
            hours = 0;
            minutes = 0;
            seconds = 0;
        }
    }
    void show(){
        if(hours >= 0 && hours <= 9) cout << "0" << hours; else cout << hours;
        cout << ":";
        if(minutes >= 0 && minutes <= 9) cout << "0" << minutes; else cout << minutes;
        cout << ":";
        if(seconds >= 0 && seconds <= 9) cout << "0" << seconds; else cout << seconds;
    }
};
 
int main(){
    cout << "Enter start time (hh/mm/ss): ";
    time go;
    go.init();
    char var;
    while(var){
        system("cls");
        go.show();
        go.change();
        Sleep(1000);
    }
}
Помогите, пожалуйста, доработать его так, чтобы по нажатию клавиши ESC весь процесс останавливался.
5 ответов

Неужели никто не знает, как это сделать Или это невозможно?


Для Windows
int main() {
    cout << "Enter start time (hh/mm/ss): ";
    time go;
    go.init();
    char var = 0; // не забываем инициализировать переменные;
    while (var != ESC) {
        system("cls");
        go.show();
        go.change();
        Sleep(1000);
        while (var != ESC && _kbhit()) // #include <conio.h>
        {
            var = _getch();
            cout << endl << var << endl;
 
            if (var == 0 || var == -32)
                _getch();
        }
    }
}


по нажатию клавиши ESC весь процесс останавливался
если по ESC то код не чуть чуть доработать нужно, а изменить, и использовать WINAPI


14ю строчку только удали, тестировал.


QuakerRUS, спасибо