Skocz do zawartości
Puchacz1

Czas

Rekomendowane odpowiedzi

zapewne uznacie, że problem jest banalny... ale chyba mam zaćmienie bo nic mi do głowy nie przychodzi ( :lol: ). A więc mamy czas obliczony ( w minutach ). Jakaś czynność trwa powiedzmy 250 minut. Moje pytanie brzmi jak uzyskać z tego (oczywiście w języku C++) dokładny czas ( dla tego przypadku będzie to 4h i 10 minut ). Dodam, że wpadłem na dzielenie przez 60 ( :lol2: ) ale jak dotąd gucio mi to daje bo wychodzi nie to co chcę uzyskać (4,16(6) ).

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

ale jak dotąd gucio mi to daje bo wychodzi nie to co chcę uzyskać (4,16(6) ).

Proszę nie gnoić, jestem w tych sprawach niekumaty, ale mimo wszystko coś napiszę.

 

250/60 = 4,1(6)

4 x 60 = 240

250-240=10

 

=> 4h 10 min

 

 

:rolleyes:

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Interesuje Cię reszta z dzielenia "%"

 

a= 240 % 60

b= 240 - (a*60)

 

 

a= 240 % 60 da 4

b= 240 - (a*60) da 0

 

 

a= 250 % 60 da 4

b= 250 - (a*60) da 10

 

Mogłem trochę namieszać, ale mniej więcej o coś takiego chodzi:P

 

--edit--

literówka

Edytowane przez KrOOliK89

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

przyznam szczerze, że skorzystałem z Twojego sposobu seba_999. Nasunęło mi się jednak pytanie... jak z minut zrobić sekundy... teoretycznie powinno być tak samo ale... no właśnie. Powiedzmy, że mamy liczbę 17,1429 to albo ja liczyć nie potrafię albo sposób Seby_999 nie działa....

 

17 minut -------- 1020 sekund

0,1429 minuty --------- 8,574 sekundy

 

[tylko co mi to daje]

Edytowane przez Puchacz1

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

17,1429/60 = 0,285715 ---------- (liczba przed przecinkiem -> liczba godzin)

0 * 60 = 0

17-0 = 17 ---------- (minuty)

17,1429 * 60 = 1028,574

1028,574 - 17 * 60 = 8,574 ---------- (sekundy)

 

:rolleyes:

 

Edit: posprzątany bajzel ;)

Edytowane przez seba_999

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

wszystko ładnie pięknie tylko liczba jest tu chyba zaokrąglana ponieważ wynik końcowy powinien być 17minut 9 sekund. Aczkolwiek jest to dla mnie zastanawiające...

Edytowane przez Puchacz1

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

zastanawiające jest dla mnie to jak zaokrąglić liczbe w C++

Nie wiem jak to się pisze w C++, ale ja bym jeszcze dodał coś takiego:

 

Liczba: a,bcdef.............

 

jeśli b jest mniejsze lub równe 4 => wyświetl a

jeśli b jest większe lub równe 5 => wyświetl a+1

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

kurcze... działa :). Wielkie dzięki :)

 

Jak w takim razie zapisać to aby rozróżniał 2 przypadki .... ?

 

zapisuje

[...]

 

if ( zaokrąglenie >= zaokrąglenie + 0,5 )

{

std::cout << ceil(zaokrąglenie) << std::endl;

}

if (zaokrąglenie <= zaokrąglenie + 0,4999999999

{

std::cout << floor(zaokrąglenie) << std::endl;

 

[...]

 

wychodzi mi bzdura... to wiem tylko nie mogę wpaść na nic innego :|

Edytowane przez Puchacz1

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

w czym Ty to piszesz? Są przecież klasy do obsługi czasu, które znakomicie radzą sobie z przeliczaniem czasu w dowolny sposób, z uwzględnieniem lat przestępnych. Po co się pałować, skoro efekty i tak będą zawsze zawierały wady :), lepiej zrobić to jak należy.

 

No chyba, że to ćwiczenie na inteligencję i należy wykazać się tym jak nie należy pisać programów :D

Edytowane przez PelzaK

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

skoro jest temat o czasie to i ja się dopiszę

 

 

potrzebuję funkcję która zwróci mi czas w milisekundach (nieważne czy od roku 1970 czy od chwili odpalenia komputera czy od kiedy, ważne żeby było w milisekundach).

 

W googlach trafiłem na funkcje Time, ale ona zwraca sekundy... Są jakieś wariacje tej funkcji któe zwracają milisekundy?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Poniżej znajdziesz to czego potrzebujesz ;)

 

http://wyklady.net/packs/opt.zip

 

Pliki którymi powinieneś się zainteresować: speed.h, rtdsc.c i któryś z optsXX.c - wywołanie funkcji mierzącej czas.

Edytowane przez Dj_AnT

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...