Internet to potÄga ÂŤ ObserwujÄ, myĹlÄ, piszÄ â serwis Goldenrose
Przeniosłem tu temat, gdyż niema sensu zaśmiecać wątku o 8PMponiżej podaje link do nowej wersji programu BMI v0.0.2: PROGRAM BMI
Jak już wspomniałem nie jest to jeszcze końcowa wersja programu i każda uwaga będzie mile widziana Od razu mówię, że nie jestem urodzonym programistą i uczę się dopiero stawiać pierwsze kroki w C++
@Mirku na razie ograniczyłem wyświetlanie wyniku do dwóch miejsc po przecinku co daje nam postać xx.yy [min/km] - chciałbym wyjść Tobie na przeciw i tak zmodyfikować program aby wyświetlał "opisową" wartość wyniku (tempa), lecz napotkałem na trudności mianowicie na razie nie potrafię poradzić sobie z wyodrębnieniem sekund! (Zwróćcie uwagę, że w wyniku podawane są setne części minuty nie są to sekundy )
Może ktoś miał podobny problem i wie jak go rozwiązać? Będę wdzięczny za pomoc!
Miłego korzystania z programu życzę
jak mozesz to moze zapodaj taki wzor:
wynik po przecinku x 60 dzielone przez 100 - powinny wyjsc sekundy tylko od strony technicznej, jak to zrobic by program zrobil dzialanie tylko na tym co po przecinku i dal wynik w sekundach to mnie nie pytaj
nie przegladalem jeszcze drugiej wersji ale w pierwszej rzucilo mi sie w oczy, ze kazde pytanie zaczynalo sie od slowa "witaj", moim zdaniem strczy raz. ale nie wiem jak to teraz wyglada
wynik po przecinku x 60 dzielone przez 100 - powinny wyjsc sekundy tylko od strony technicznej, jak to zrobic by program zrobil dzialanie tylko na tym co po przecinku i dal wynik w sekundach to mnie nie pytaj
Sam algorytm nie jest trudny (jest wprost trywialny) - lecz cała trudność przynajmniej dla mnie polega na wyodrębnieniu ze zmiennej typu float części znajdującej się po przecinku!
Bawiłem się już w działaniach na zmiennych typu int z funkcją % (dzielenie modulo), ale nic z tego dobrego nie wynikło. Ale jestem dobrej myśli i wciąż kombinuje może już niedługo do czegoś dojdę!
Błażej w czym piszesz? Podrzuć na maila zapis programu (tylko fragmenty obliczeniowe - zrobię ci to )
Błażej w czym piszesz? Podrzuć na maila zapis programu (tylko fragmenty obliczeniowe - zrobię ci to )
Piszę w C++, do kompilacji i linkowania używam Dev C++ 4.9.9.2
fragmenty obliczeniowe to zaledwie dwie linii więc wkleję je tutaj co by inni mogli spojrzeć i może coś doradzić!
float Godzin, Minut, Tempo; //deklaracja zmiennych
/* zmienna "Godzin" (float) - zawiera liczbę godzin
zmienna "Minut" (float) - zawiera liczbę minut - obie wartości podaje użytkownik
zmienna "Dystans" jest typu float - podaje użytkownik */
Tempo=((Godzin * 60)+ Minut )/ Dystans; //obliczanie tempa
Błażej skoro wiesz co to dzielenie modulo to tak:
float sobie gdzieniegdzie odpuść , zamień czas na sekundy
czyli godzina * 3600 + minuty * 60, podziel przez kilometry, po podzeileniu przez modulo 60 wyniku masz resztęw sekundach '-)
Drugie wyjście: istnieje typ zmiennej data i tam jest też czas ,
trzecie najtrudniejsze sam tworzysz funkcje dzielącą czas przez liczbęi podającą w formacie czasu
Jak czegoś nei kumasz pisz
float sobie gdzieniegdzie odpuść , zamień czas na sekundy
czyli godzina * 3600 + minuty * 60, podziel przez kilometry, po podzeileniu przez modulo 60 wyniku masz resztęw sekundach '-)
Aby sprawdzić ideę, spłodziłem takie coś na prędce i wychodzi elegancko Wielkie dzięki Squacker
int czas=14400;
float dyst = 42.195;
int tempo = czas /dyst;
cout <<tempo<<"\n";
int sek = tempo % 60;
tempo = tempo /60;
cout <<sek<<"\n\n\n";
cout<<tempo<<" i "<<sek;
Się trochę programuje czasem
Wczesniej gdy używałem funkcji modulo nie wychodził poprawny wynik ponieważ zamieniałem dystans na metry i później dzieliłem czas w sekundach przez dystans. Musiałem operować na int'ach gdyż tylko ten typ obsługuje funkcja modulo. Jasnym jest, że po takim podzieleniu wynik wychodził zero z prostej przyczyny sek << metrów A nie chciałem od razu dzielić przez kilometry co by się kompilator nie burzył, że dzielę int prze float
panowie... czy to jakas więzienna grypsera?
m
PS. ale teraz na ignoranta pewnie wyszedlem :]
panowie... czy to jakas więzienna grypsera?
PS. ale teraz na ignoranta pewnie wyszedlem :]
Nie czemu? Nie wyszedłeś na ignoranta Ja tam się w ogóle cieszę, że miałeś ochotę looknąć na ten program! Znaczy poświęciłeś swój cenny czas - to sie liczy
Sławek - dzięki za pomoc - w razie "W" wiem gdzie uderzać
Najnowsza wersja programu do zassania obok : PROGRAM BMI
Siedzę na zajęciach, na egzamin czeka jeszcze 6 osób, o jego wyniku napisze na forum wraz z umieszczeniem finalnej wersji programu BMI - trzymajcie kciuki Kto mam możliwość może wysłać jakiegoś pokrzepiającego sms'a
Kto mam możliwość może wysłać jakiegoś pokrzepiającego sms'a
Wysłałbym, ale nie znam Twojego numeru telefonu
Jednak mam nadzieję, że poszło Ci dobrze, a program BMI pomógł zdać egzamin.
Po prostu mam dość. dr M.Mucha o godz 20:25 stwierdził, że nie zdoła przeegzaminować wszystkich i powiedział, że mamy iśc do domów, wyśle nam emaila z innym terminem egzaminu i prezentacji swoich projektów , przecież zaraz nie wyrobię wr..
Czekałem na egzamin od godz 14:00 po 6 h on mówi, że mogę iśc do domu>(*^$
PS może na następny termin (jak mi panowie Mirek i Sławek odrobinę pomogą) uda mi się program BMI w trybie graficznym stworzyć
W C# to chętnie bym Ci pomógł, ale w C++ to jestem gorzej niż Cienki Bolek, jak ostatnio powiedział mój znajomy
Acha, i jeszcze oświadczam, że nie jestem w zmowie z panem doktorem od egzaminu.
O godz. 20.25 powiedział, że pozostałych studentów nie pyta, a ja wysłałem swojego posta o godz. 20.26. To niezamierzony zbieg okolicznopści i ja wcale się z nim o 20.24 nie kontaktowałem (byłem co prawda blisko Wydziału Fizyki, ale moja telepatia tam nie sięga).