[MUZYKA GRA] ROB BOWDEN Cześć. Jestem Rob. I przejdźmy chciwy. Tak więc pierwszą rzeczą, którą musisz zrobić, jest zwrócić się do użytkownika dokładnie, jak dużo zmian jest należne. Więc tutaj widzimy, mamy Do / pętla. A my ustawienie dolarów równa GetFloat. Co to jest GetFloat? Jest to jedna z funkcji w Biblioteka CS50, że dostaje unosić się od użytkownika. Pamiętaj, aby korzystać z tej funkcji, musimy mieszania obejmują CS50.h na szczycie. Więc raz mamy tę wartość od użytkownika, musimy również mieć pewność, że jest to poprawna wartość. Nie możemy zawdzięczać negatywny pieniądze. I tak to jest celem z tego zrobić / pętla. Kontynuujemy pętli podczas dolarów jest mniejsza od zera. I zrób / pętla jest słuszne używać tutaj, ponieważ musimy zadać użytkownik przynajmniej raz na jak ile pieniędzy jest winna. Więc raz mamy taką liczbę dolarów, widzimy tutaj mamy int centów równa runda dolarów razy CENTS_PER_DOLLAR. U góry widać, że CENTS_PER_DOLLAR jest sensownie zdefiniowane jako 100. Więc co robi ta linia? Cóż, jeśli pamiętać, zmiennoprzecinkowa Wartości nie są dość precyzyjne. W przeciwieństwie do liczb całkowitych, nie mogą stanowić Wartości zmiennoprzecinkowe dokładnie. Zawsze jest jakaś niedokładności. Więc wolą pracować z tylko liczb całkowitych w ciągu tego problemu. I tutaj, jeśli użytkownik wprowadził 3,42 dolarów, mamy do konwersji, które do 342 centów i zaokrąglanie, tylko pozbyć żadnej z tych niedokładności. Więc raz mamy liczbę groszy w całkowitą, możemy kontynuować Reszta programu. Widzimy tutaj, że jesteśmy oświadczając całkowitą Monety, które jesteśmy tylko używać śledzić sumy liczba monet. Tutaj mamy pierwszy pętla. Widzimy natomiast centów jest większa lub równa kwartale, co powyżej, jest hash zdefiniowane jako 25, a to prawda, że Aby zwiększyć naszą liczbę monet i centów dekrementacji kwartale. Pamiętaj, że ta składnia jest równoważne centów równa centów minus kwartał. Są to takie same. Więc co robi ta pętla? Chodzi o to, że, jeśli wiem, 3,42 dolarów jest należne, mogę kontynuować dając kwartałach, aż nie mogę dać czwarte więcej. Nie mogę dać więcej kwartałów, raz dałem 3,25 dolarów. Tak więc, gdy tak jest, będziemy wyrwać się z tej pętli while. Centów zostaną pozostawione na 17 centów. A my nadal w dół do następnego pętla, gdzie mówimy, gdy centów jest większa niż lub równa dime. A teraz robimy to samo dokładna co zrobiliśmy w przypadku kwartału, chyba grosze. Więc z $ 0,17 do czasu będziemy możemy pętli nie dać ani grosza, co jest dokładnie raz. A potem będziemy w lewo z 7 centów. Potem przejdź do monet, które będzie pętla dopóki nie możemy dać żadnych więcej monet, które będą zostaw nas z dwóch centów. A potem, na dole, mamy grosze, woli i woli, które w pętli w końcu zostawić nas z zerowym centów. Następnie na koniec, musimy tylko wydrukować naszą liczbę monet. Więc ten program jest całkowicie poprawne. Ale rzeczywiście możemy zrobić trochę lepiej. Teraz, jeśli powiem, że jesteś winien 10.000 dolarów, nie ma potrzeby, aby przejść o jeden kwartał, dwa kwartały, trzy czwarte. Powinieneś wiedzieć, że natychmiast Zawdzięczam ci 40000 czwarte. Teraz przyjrzyjmy się, że program zajmuje to nieco lepiej. W tej wersji rzeczy, musimy jeszcze zwrócić się do użytkownika o ilości zmiany, które chcą się dokładnie samo zrobiliśmy wcześniej. Musimy ją zaokrąglić dokładnie sposobem zrobiliśmy wcześniej. I wciąż mamy nasze monety całkowitą oświadczył, dokładnie tak samo jak wcześniej. Tak tu jest, gdzie rzeczy się nieco inaczej. Robimy monet plus równych centów podzielone na kwartały , gdzie czwarta jest 25. Co to jest o to, jak wiele się czwarte jak można iść do centów i dodaj że do monet. Więc jeśli centów jest 142, 142, podzielona przez 25 daje nam 5. Pamiętaj, że podział całkowitą automatycznie obcina. Więc robimy monety Plus wynosi 5. Natychmiast po tym, mówimy centów równość centów mod kwartał. Pamiętaj, że operator mod daje nam pozostała po podziale. Więc 142 mod kwartał, który daje jest 142 minus 125, czyli 17. To pozostałość po robi 142 podzielone przez 25 lat. Więc teraz centów jest równe 17. I robimy to samo dokładna rzeczą grosze. 17 podzielone przez 10 da nam 1. I dodać, że do monet. A następnie aktualizujemy centów być 17 mod 10, który jest 7. A następnie samo monet. 7 podzielona przez 5 jest 1. Dodać, że do monet. A następnie 7 mod 5 jest 2. I to jest nasze centów. , A następnie, za grosze, nie ma prawdziwej punkt rozdzielenia lub modding, ponieważ, jeśli mamy 0,2 dolarów pozostało, możemy tylko od razu dodać, że do Nasza liczba monet. I wreszcie, musimy wydrukować nasze liczba monet i, ewentualnie, return 0 na końcu naszego programu oznaczać wszystko działało. Nazywam się Rob. I to był chciwy. [MUZYKA GRA]