• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Program w c++ działajacy na timerze

Object Storage Arubacloud
0 głosów
931 wizyt
pytanie zadane 21 maja 2016 w C i C++ przez Ditrix Mądrala (5,650 p.)
Witam!

Chce zrobić program, który ma działać na timerze. Chodzi mi o to, że np co 3 sekundy ma się tworzyć nowy obiekt, a co 2 sekundy ma się dziać coś innego. Jakieś pomysły ?

2 odpowiedzi

0 głosów
odpowiedź 21 maja 2016 przez Avernis Nałogowiec (27,400 p.)
wybrane 22 maja 2016 przez Ditrix
 
Najlepsza

Masz tu kod mojego timera. Żeby nie powiedzieli że gotowce, to ci go w ogóle nie opiszę, i sam go rozpracujesz:

.cpp

ClockTimer::ClockTimer()
{
	restart();
}
ClockTimer::~ClockTimer()
{
}


void ClockTimer::restart()
{
	tick = 0;
	timer2 = clock();
}
float ClockTimer::getTimeAsSeconds()
{
	timer = clock();
	return (timer - timer2) / 1000;
}
float ClockTimer::getTimeAsMiliseconds()
{
	timer = clock();
	return timer - timer2;
}

.h

#pragma once

#include <ctime>

class ClockTimer
{
	float timer = 0;
	float timer2 = 0;

	unsigned int id = 0;

	unsigned short int tick = 0; //to zignoruj 
public:
	ClockTimer();

	~ClockTimer();
	void restart();
	float getTimeAsSeconds();
	float getTimeAsMiliseconds();
};

 

komentarz 24 maja 2016 przez Ditrix Mądrala (5,650 p.)
if(clock2.getTimeAsSeconds() < 1 && kbhit()==1)
        {
            choice = getch();

Czyli dowolny klawisz naciśnięty w dowolnym czasie wskakuje do bufora. W tym zapisie if sprawdza czy jest coś w buforze, jeśli jest to przypisuje wartość bufora do zmiennej choice. Dobrze zrozumiałem ?

komentarz 24 maja 2016 przez draghan VIP (106,230 p.)

Z tą dowolnością to bym uważał. Z tego co pamiętam, kbhit dość dziwnie zachowuje się dla klawiszy funkcyjnych i chyba również tych z bloku numerycznego. Pewien nie jestem, musisz to sobie sprawdzić eksperymentalnie. :)

Ale owszem, dobrze rozumiesz. Ja Twój fragment kodu rozumiem tak:

Jeżeli nie minęła sekunda i ktoś wcisnął klawisz, pobierz go i zapisz do zmiennej choice.

komentarz 24 maja 2016 przez Ditrix Mądrala (5,650 p.)
Na prawdę wielkie dzięki!

Dzięki również wszystkim innym, którzy się tutaj udzielali :) Program śmiga elegancko!
komentarz 24 maja 2016 przez draghan VIP (106,230 p.)
Na zdrowie. :) Miłego wieczoru. :)
komentarz 24 maja 2016 przez Ditrix Mądrala (5,650 p.)
Teraz na pewno będzie miły! :)

Wzajemnie!
+1 głos
odpowiedź 21 maja 2016 przez Munvik Dyskutant (9,350 p.)
Masz zamiar użyć jakiś bibliotek ? Bo jak nie, to polecam poprostu clock_t i sprawdzanie czy minęło te 2 / 3  sekundy chociaż są jeszcze inne sposoby.
komentarz 22 maja 2016 przez Ditrix Mądrala (5,650 p.)
Obojętnie, byle działało sprawnie :) Właśnie po głębszym zastanowieniu doszedłem do wniosku, że to wystarczy :D Po prostu do każdej funckji w pętli dać if'a ze sprawdzeniem czy minęło ileś tam sekund.
komentarz 22 maja 2016 przez Munvik Dyskutant (9,350 p.)
Tak dokładnie.

Podobne pytania

0 głosów
1 odpowiedź 357 wizyt
pytanie zadane 4 maja 2016 w Java przez DeBos123 Nałogowiec (44,950 p.)
0 głosów
1 odpowiedź 3,462 wizyt
pytanie zadane 22 lutego 2016 w Mikrokontrolery przez programer Obywatel (1,190 p.)
0 głosów
1 odpowiedź 388 wizyt
pytanie zadane 21 sierpnia 2018 w Inne języki przez Storm Obywatel (1,570 p.)

92,582 zapytań

141,433 odpowiedzi

319,666 komentarzy

61,966 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...