Link do kodu:
http://textsave.de/YfJ
Link do całego projektu:
http://speedy.sh/ukUWp/tnl.rar
Mój problem polega na obliczaniu minut, celem programu jest obliczanie czasu pozostałego do wbicia poziomu w pewnej grze. Przy obliczaniu dla danych z zakresu poziomów 6-99(resztę dodam jak chociaż 1 będzie działać poprawnie) godziny są zliczane poprawnie, zaś minuty w ogóle. Więc, cokolwiek nie wpiszę nigdy nie wyjdzie 17(int) bądź 16,5625(float) dla danych podanych poniżej :
W czym problem ? Otóż:
float finalm=((TNL-192)/192)*60;
TNL = 245, więc:
((245-192)/192*60= (53/192)60 = 0,276041666666666760 = 16,5625 ~ 17 minut w zaokrągleniu (wiem że przy danych typu (TNL-192)>192 będzie błąd obliczeń (przy większej ilości godzin zastosuję zmienną która będzie ewentualne godziny odejmować, by zostały tylko minuty do liczenia)), ale nie potrafię zrozumieć czemu 17 = 0 (na przykładzie jest zastosowany float więc powinno niby być 16,5625, ale jak zmienię to na int to i tak wyjdzie na 0) ? Label16 (na prawo od mins) powinien wyświetlić 16,5625 dla finalm=float bądź 17 dla finalm=int. A przynajmniej tak mi się wydaje ^^
O co chodzi ?