[C++] Problem z odliczaniem czasu (Test na refleks)
Ostatnio zmodyfikowano 2014-12-04 14:12
Myraa Temat założony przez niniejszego użytkownika |
[C++] Problem z odliczaniem czasu (Test na refleks) » 2014-11-29 13:25:02 Witam! Poszukuję od jakiegoś czasu jakiegoś sposobu, który odliczałby czas. Muszę stworzyć test na refleks, gdzie na każdą odpowiedź są maksymalnie 4 sekundy. Myślałem o pętli, która by co chwilę sprawdzała aktualny czas w porównaniu z czasem startowym (przy zadawaniu pytania) i dla różnicy 4 sekund zaliczała by złą odpowiedź i przechodziła do kolejnego pytania. Tylko nie za bardzo wiem jak to wykonać. Bardzo proszę o pomoc. |
|
mati1995g |
» 2014-11-29 14:27:35 możesz spróbować pobawić się z difftime |
|
Myraa Temat założony przez niniejszego użytkownika |
» 2014-11-29 14:40:17 No tak, ale nie za bardzo wiem jak zrobić coś w rodzaju pętli. Bo z tego co wyczytałem, to difftime to po prostu różnica czasów, a jeszcze pozostaje problem sprawdzania non-stop tego czasu. |
|
mati1995g |
» 2014-11-29 14:52:21 Na przykładzie jednego pytania: #include <iostream> #include <time.h> using namespace std;
int main() { time_t a, b; int odp; double czas; time( & a ); cin >> odp; time( & b ); czas = difftime( b, a ); cout << czas; return 0; }
|
|
Myraa Temat założony przez niniejszego użytkownika |
» 2014-11-29 15:01:11 To też już wiem. Tylko jak ustawić żeby przechodziło do kolejnego pytania kiedy użytkownik nie udzieli odpowiedzi po upływie 4 sekund? Potrzebuję czegoś w rodzaju timera. |
|
Myraa Temat założony przez niniejszego użytkownika |
» 2014-12-04 14:12:19 Znalazłem rozwiązanie mojego problemu i wrzucam fragment kodu, bo może ktoś też będzie potrzebował w miarę prostego timera: int timer = 4000; while( timer > 0 ) { if( timer % 1000 == 0 || timer == 10 ) cout << timer / 1000 << " "; if( kbhit() ) { odp = getch(); break; } Sleep( 10 ); timer -= 10; };
W razie pytań mogę wyjaśnić kod. Mam nadzieję, że komuś pomogę tym. :) |
|
« 1 » |