[MUSIC PLAYING] Rob Bowden: Hi. Mən Rob deyiləm. Və Greedy əldə edək. Belə ki, ilk şey biz nə etmək lazımdır dəqiq necə istifadəçi xahiş olunur çox dəyişiklik borclu olunur. Belə ki, burada, biz görürük bir do / loop isə. Və biz dollar yaradılması edirik GetFloat bərabər. GetFloat nədir? Bu funksiyaları biri Bir olur ki, CS50 kitabxana istifadəçi float. Ki funksiyasından istifadə etmək üçün, saxla, biz daxil hash lazımdır Üst CS50.h. Belə ki, bir dəfə biz də dəyər user, biz də əmin olmaq lazımdır cari dəyəri var. Biz mənfi pul borclu bilməz. Və belə ki, məqsədi var Bu do / loop isə. Dollar isə biz loop davam sıfır azdır. Və do / loop isə düzgün Biz xahiş etmək lazımdır ildən, burada istifadə etmək necə üçün ən azı bir dəfə user çox pul borclu olunur. Belə ki, bir dəfə biz, dollar ki sayı var biz int sent var burada dəfə dolları dəyirmi bərabərdir CENTS_PER_DOLLAR. Üst, biz görürük ki, CENTS_PER_DOLLAR edir ağılla 100 kimi müəyyən edilmişdir. Belə ki, bu xətt nə edir? Yaxşı, Əgər xatırlayırsınızsa, üzən point dəyərlər olduqca dəqiq deyil. Integers fərqli olaraq, biz təmsil edə bilməz üzən point dəyərləri dəqiq. Bir növ həmişə var qeyri-dəqiqlik. Beləliklə, biz yalnız integers ilə işləməyə üstünlük verirlər Bu problemin ərzində. Və burada, istifadəçi $ 3.42 daxil olduqda, biz 342 sent üçün konvertasiya və edirik yuvarlaqlaşdırma, yalnız qurtarmaq ki, qeyri-dəqiqlik hər hansı bir. Belə ki, bir dəfə biz qəpik sayı var bir tam, biz ilə davam edə bilər Proqramın qalan. Biz tam elan edirik ki, burada baxın biz yalnız istifadə etmək üçün etdiyiniz pul cəmi takip sikkələrin sayı. Burada, biz ilk isə loop var. Sent və ya daha çox isə görürük yuxarıda, hash olan dörddə birinə bərabər ki, doğru isə biz, 25 kimi müəyyən sikkələr bizim sayı arttırmayı istəyirəm və dörddə azalma qəpik. Xatırla ki, bu sintaksis qəpik bərabərdir qəpik minus rüb bərabərdir. Həmin eynidir. Belə ki, bu isə loop nə edir? Burada ideya ki, I $ 3.42 bilirsinizsə borclu, mən verilməsi davam edə bilər dörddə I verə bilməz qədər dörddə bir daha. I, dörddə bir daha verə bilməz I $ 3.25 verilmiş sonra. Halda ki, bir dəfə Beləliklə, biz will Bu isə loop çıxmaq. Cents 17 sent qalacaq. Və biz növbəti aşağı davam edəcəyik biz demək isə loop harada isə qəpik və ya daha çox dime bərabərdir. İndi biz eyni dəqiq edirik şey, dörddəbir halda etdi dimes ilə istisna olmaqla. Belə ki, $ 0,17 ilə, biz loop biz qədər will artıq olan bir dime vermək dəqiq bir dəfə. Və sonra biz 7 sent ilə tərk edilə bilərsiniz. Sonra, nickels davam lazımdır biz loop verə bilməz qədər bir daha Pulun edəcək olan iki sent ilə bizi tərk. Və sonra, aşağı altında, biz var pennies edəcək olan loop və olacaq nəhayət sıfır qəpik ilə bizi tərk. Sonra sonunda, biz yalnız lazımdır sikkələr bizim sıra çap. Belə ki, bu proqram mükəmməl doğru deyil. Amma biz, həqiqətən, bir az daha yaxşı edə bilərsiniz. İndi mən sizə $ 10,000 borclu ki, əgər, Burada biri getmək lazım deyil rüb, iki rüb, dörddə üç. Siz dərhal bilirik ki, Mən sizə 40,000 dörddə borcluyuq. İndi bir proqram baxaq ki, bir az daha yaxşı yapar. Şeyi bu versiyası, biz hələ də lazımdır məbləğin üçün istifadəçi xahiş Onlar məhz istədiyiniz dəyişdirmək biz əvvəl etdi eyni şəkildə. Biz dəqiq ətrafında lazımdır yol biz əvvəl etdi. Və biz hələ tam bizim pul var əvvəl eyni dəqiq elan etdi. Belə ki, burada olduğu şeylər bir az fərqli olsun. Biz pul plus bərabərdir edirik rübündə bölünür qəpik dörddəbir 25 yerləşir. Bu kimi bir çox almaq söyləyərək nə kimi dörddə qəpik getmək və əlavə edə bilərsiniz pul ki,. Qəpik 142 Belə ki, 142 bölünür 25 bizə 5 verir. Ki, tam bölgüsü saxla avtomatik truncates. Belə ki, biz pul bunu plus 5 bərabərdir edirik. Bundan dərhal sonra, deyirdik edirik qəpik bərabər qəpik mod dörddəbir. Bu mod operator verir ki, saxla bölünmədən sonra bizə qalan. Belə ki, 142 mod rüb ki, verəcək 17 olan 142 minus 125 edir. Bu qalan sonra var 25 bölünür 142 edir. Belə ki, indi qəpik 17 bərabərdir. Və biz eyni dəqiq nə dimes üçün bir şey. 10 bölünür 17 bizə 1 verəcək. Və biz pul ki, əlavə. Və sonra biz sent yeniləmə 7 17 mod 10, ola bilər. Və sonra nickels üçün eyni. 5 bölünür 7 1. Pul ki, əlavə edin. Və sonra 7 mod 5 2. Və bizim sent var. Və sonra, pennies üçün, heç bir real var oynaqlarla və ya modding point, ildən, biz əlimizdən üzərində sol $ 0.2, varsa yalnız dərhal ki, əlavə sikkələr bizim nömrəsi. Və, nəhayət, biz çap lazımdır bizim sikkələr və isteğe, Bizim proqram sonunda 0 qayıtmaq hər şey demek çalışmışdır. My name Rob edir. Və bu Greedy idi. [MUSIC PLAYING]