Zatrzymanie programu na odpowiedni czas.

0

Witam !
Mam problem z napisaniem programu .
Użytkownik ma za zadanie wpisać czas w milisekundach do zmiennej a następnie , program ma wykonać funkcję , zatrzymać program na podany przez osobę czas a następnie znowu coś wykonać.
Problem leży że program ma tak działać że jeżeli osoba wciśnie przycisk ESC to cały program się wyłącza więc z tego co mi się wydaje

Sleep (czas);

odpada .
Czy jest opcja aby wykonać takie coś ?

Z góry dziękuje oraz pozdrawiam !

1

Robisz pętlę, w tej pętli pobierasz czas, i jednocześnie obsługujesz ten klawisz ESC. I póki ten czas podany przez użytkownika nie minie to nie może zrobić niczego innego.

0

Aaaaaaaaaaaa no w sumie prawda , a podpowiesz jakim sposobem mogę pobrać czas z komputera ?

0

Na windowsie timeGetTime() ci zwróci czas w milisekundach. Możesz też bawić się standardową biblioteką, tutaj jest szeroki wybór.

0

Bardzo dziękuje za pomoc :)

2

Co do usypiania z biblioteką standardową:

int main()
{
    using namespace std::literals;
    std::cout << "Hello waiter" << std::endl;
    auto start = std::chrono::high_resolution_clock::now();
    std::this_thread::sleep_for(2s);
    auto end = std::chrono::high_resolution_clock::now();
    std::chrono::duration<double, std::milli> elapsed = end-start;
    std::cout << "Waited " << elapsed.count() << " ms\n";
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1