>> [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]