1 00:00:00,000 --> 00:00:00,994 2 00:00:00,994 --> 00:00:11,431 >> [MUSIC PLAYING] 3 00:00:11,431 --> 00:00:12,500 >> Rob Bowden: Hi. 4 00:00:12,500 --> 00:00:13,230 Mən Rob deyiləm. 5 00:00:13,230 --> 00:00:15,080 Və Greedy əldə edək. 6 00:00:15,080 --> 00:00:18,560 >> Belə ki, ilk şey biz nə etmək lazımdır dəqiq necə istifadəçi xahiş olunur 7 00:00:18,560 --> 00:00:20,500 çox dəyişiklik borclu olunur. 8 00:00:20,500 --> 00:00:23,310 Belə ki, burada, biz görürük bir do / loop isə. 9 00:00:23,310 --> 00:00:26,650 Və biz dollar yaradılması edirik GetFloat bərabər. 10 00:00:26,650 --> 00:00:27,890 GetFloat nədir? 11 00:00:27,890 --> 00:00:30,700 Bu funksiyaları biri Bir olur ki, CS50 kitabxana 12 00:00:30,700 --> 00:00:32,450 istifadəçi float. 13 00:00:32,450 --> 00:00:35,200 Ki funksiyasından istifadə etmək üçün, saxla, biz daxil hash lazımdır 14 00:00:35,200 --> 00:00:37,790 Üst CS50.h. 15 00:00:37,790 --> 00:00:42,310 >> Belə ki, bir dəfə biz də dəyər user, biz də əmin olmaq lazımdır 16 00:00:42,310 --> 00:00:43,560 cari dəyəri var. 17 00:00:43,560 --> 00:00:46,050 Biz mənfi pul borclu bilməz. 18 00:00:46,050 --> 00:00:48,460 Və belə ki, məqsədi var Bu do / loop isə. 19 00:00:48,460 --> 00:00:52,420 Dollar isə biz loop davam sıfır azdır. 20 00:00:52,420 --> 00:00:56,960 Və do / loop isə düzgün Biz xahiş etmək lazımdır ildən, burada istifadə etmək 21 00:00:56,960 --> 00:01:00,290 necə üçün ən azı bir dəfə user çox pul borclu olunur. 22 00:01:00,290 --> 00:01:05,040 >> Belə ki, bir dəfə biz, dollar ki sayı var biz int sent var burada 23 00:01:05,040 --> 00:01:08,630 dəfə dolları dəyirmi bərabərdir CENTS_PER_DOLLAR. 24 00:01:08,630 --> 00:01:10,740 Üst, biz görürük ki, CENTS_PER_DOLLAR edir 25 00:01:10,740 --> 00:01:13,750 ağılla 100 kimi müəyyən edilmişdir. 26 00:01:13,750 --> 00:01:16,270 Belə ki, bu xətt nə edir? 27 00:01:16,270 --> 00:01:21,200 >> Yaxşı, Əgər xatırlayırsınızsa, üzən point dəyərlər olduqca dəqiq deyil. 28 00:01:21,200 --> 00:01:25,470 Integers fərqli olaraq, biz təmsil edə bilməz üzən point dəyərləri dəqiq. 29 00:01:25,470 --> 00:01:28,660 Bir növ həmişə var qeyri-dəqiqlik. 30 00:01:28,660 --> 00:01:32,840 Beləliklə, biz yalnız integers ilə işləməyə üstünlük verirlər Bu problemin ərzində. 31 00:01:32,840 --> 00:01:42,690 Və burada, istifadəçi $ 3.42 daxil olduqda, biz 342 sent üçün konvertasiya və edirik 32 00:01:42,690 --> 00:01:45,900 yuvarlaqlaşdırma, yalnız qurtarmaq ki, qeyri-dəqiqlik hər hansı bir. 33 00:01:45,900 --> 00:01:49,940 >> Belə ki, bir dəfə biz qəpik sayı var bir tam, biz ilə davam edə bilər 34 00:01:49,940 --> 00:01:51,730 Proqramın qalan. 35 00:01:51,730 --> 00:01:55,910 Biz tam elan edirik ki, burada baxın biz yalnız istifadə etmək üçün etdiyiniz pul 36 00:01:55,910 --> 00:01:59,560 cəmi takip sikkələrin sayı. 37 00:01:59,560 --> 00:02:01,590 Burada, biz ilk isə loop var. 38 00:02:01,590 --> 00:02:06,780 >> Sent və ya daha çox isə görürük yuxarıda, hash olan dörddə birinə bərabər 39 00:02:06,780 --> 00:02:14,680 ki, doğru isə biz, 25 kimi müəyyən sikkələr bizim sayı arttırmayı istəyirəm 40 00:02:14,680 --> 00:02:18,350 və dörddə azalma qəpik. 41 00:02:18,350 --> 00:02:22,810 Xatırla ki, bu sintaksis qəpik bərabərdir 42 00:02:22,810 --> 00:02:26,020 qəpik minus rüb bərabərdir. 43 00:02:26,020 --> 00:02:28,170 Həmin eynidir. 44 00:02:28,170 --> 00:02:31,850 >> Belə ki, bu isə loop nə edir? 45 00:02:31,850 --> 00:02:39,260 Burada ideya ki, I $ 3.42 bilirsinizsə borclu, mən verilməsi davam edə bilər 46 00:02:39,260 --> 00:02:42,670 dörddə I verə bilməz qədər dörddə bir daha. 47 00:02:42,670 --> 00:02:47,720 I, dörddə bir daha verə bilməz I $ 3.25 verilmiş sonra. 48 00:02:47,720 --> 00:02:53,300 >> Halda ki, bir dəfə Beləliklə, biz will Bu isə loop çıxmaq. 49 00:02:53,300 --> 00:02:57,650 Cents 17 sent qalacaq. 50 00:02:57,650 --> 00:03:01,910 Və biz növbəti aşağı davam edəcəyik biz demək isə loop harada isə qəpik 51 00:03:01,910 --> 00:03:04,270 və ya daha çox dime bərabərdir. 52 00:03:04,270 --> 00:03:07,420 >> İndi biz eyni dəqiq edirik şey, dörddəbir halda etdi 53 00:03:07,420 --> 00:03:09,010 dimes ilə istisna olmaqla. 54 00:03:09,010 --> 00:03:15,050 Belə ki, $ 0,17 ilə, biz loop biz qədər will artıq olan bir dime vermək 55 00:03:15,050 --> 00:03:16,680 dəqiq bir dəfə. 56 00:03:16,680 --> 00:03:20,470 Və sonra biz 7 sent ilə tərk edilə bilərsiniz. 57 00:03:20,470 --> 00:03:24,730 >> Sonra, nickels davam lazımdır biz loop verə bilməz qədər 58 00:03:24,730 --> 00:03:29,420 bir daha Pulun edəcək olan iki sent ilə bizi tərk. 59 00:03:29,420 --> 00:03:34,400 Və sonra, aşağı altında, biz var pennies edəcək olan loop və olacaq 60 00:03:34,400 --> 00:03:37,140 nəhayət sıfır qəpik ilə bizi tərk. 61 00:03:37,140 --> 00:03:41,670 Sonra sonunda, biz yalnız lazımdır sikkələr bizim sıra çap. 62 00:03:41,670 --> 00:03:44,980 >> Belə ki, bu proqram mükəmməl doğru deyil. 63 00:03:44,980 --> 00:03:47,310 Amma biz, həqiqətən, bir az daha yaxşı edə bilərsiniz. 64 00:03:47,310 --> 00:03:52,660 İndi mən sizə $ 10,000 borclu ki, əgər, Burada biri getmək lazım deyil 65 00:03:52,660 --> 00:03:55,310 rüb, iki rüb, dörddə üç. 66 00:03:55,310 --> 00:03:59,450 Siz dərhal bilirik ki, Mən sizə 40,000 dörddə borcluyuq. 67 00:03:59,450 --> 00:04:04,070 >> İndi bir proqram baxaq ki, bir az daha yaxşı yapar. 68 00:04:04,070 --> 00:04:07,190 Şeyi bu versiyası, biz hələ də lazımdır məbləğin üçün istifadəçi xahiş 69 00:04:07,190 --> 00:04:10,930 Onlar məhz istədiyiniz dəyişdirmək biz əvvəl etdi eyni şəkildə. 70 00:04:10,930 --> 00:04:14,110 Biz dəqiq ətrafında lazımdır yol biz əvvəl etdi. 71 00:04:14,110 --> 00:04:17,910 Və biz hələ tam bizim pul var əvvəl eyni dəqiq elan etdi. 72 00:04:17,910 --> 00:04:21,399 >> Belə ki, burada olduğu şeylər bir az fərqli olsun. 73 00:04:21,399 --> 00:04:24,640 Biz pul plus bərabərdir edirik rübündə bölünür qəpik 74 00:04:24,640 --> 00:04:27,140 dörddəbir 25 yerləşir. 75 00:04:27,140 --> 00:04:31,790 Bu kimi bir çox almaq söyləyərək nə kimi dörddə qəpik getmək və əlavə edə bilərsiniz 76 00:04:31,790 --> 00:04:33,030 pul ki,. 77 00:04:33,030 --> 00:04:40,100 >> Qəpik 142 Belə ki, 142 bölünür 25 bizə 5 verir. 78 00:04:40,100 --> 00:04:43,950 Ki, tam bölgüsü saxla avtomatik truncates. 79 00:04:43,950 --> 00:04:46,870 Belə ki, biz pul bunu plus 5 bərabərdir edirik. 80 00:04:46,870 --> 00:04:51,850 >> Bundan dərhal sonra, deyirdik edirik qəpik bərabər qəpik mod dörddəbir. 81 00:04:51,850 --> 00:04:57,150 Bu mod operator verir ki, saxla bölünmədən sonra bizə qalan. 82 00:04:57,150 --> 00:05:05,840 Belə ki, 142 mod rüb ki, verəcək 17 olan 142 minus 125 edir. 83 00:05:05,840 --> 00:05:10,470 Bu qalan sonra var 25 bölünür 142 edir. 84 00:05:10,470 --> 00:05:13,040 >> Belə ki, indi qəpik 17 bərabərdir. 85 00:05:13,040 --> 00:05:16,080 Və biz eyni dəqiq nə dimes üçün bir şey. 86 00:05:16,080 --> 00:05:18,620 10 bölünür 17 bizə 1 verəcək. 87 00:05:18,620 --> 00:05:20,150 Və biz pul ki, əlavə. 88 00:05:20,150 --> 00:05:25,380 Və sonra biz sent yeniləmə 7 17 mod 10, ola bilər. 89 00:05:25,380 --> 00:05:27,200 >> Və sonra nickels üçün eyni. 90 00:05:27,200 --> 00:05:29,180 5 bölünür 7 1. 91 00:05:29,180 --> 00:05:30,880 Pul ki, əlavə edin. 92 00:05:30,880 --> 00:05:34,600 Və sonra 7 mod 5 2. 93 00:05:34,600 --> 00:05:35,910 Və bizim sent var. 94 00:05:35,910 --> 00:05:39,065 >> Və sonra, pennies üçün, heç bir real var oynaqlarla və ya modding point, ildən, 95 00:05:39,065 --> 00:05:42,170 biz əlimizdən üzərində sol $ 0.2, varsa yalnız dərhal ki, əlavə 96 00:05:42,170 --> 00:05:43,590 sikkələr bizim nömrəsi. 97 00:05:43,590 --> 00:05:48,210 Və, nəhayət, biz çap lazımdır bizim sikkələr və isteğe, 98 00:05:48,210 --> 00:05:52,100 Bizim proqram sonunda 0 qayıtmaq hər şey demek çalışmışdır. 99 00:05:52,100 --> 00:05:53,120 >> My name Rob edir. 100 00:05:53,120 --> 00:05:54,020 Və bu Greedy idi. 101 00:05:54,020 --> 00:05:57,620 >> [MUSIC PLAYING] 102 00:05:57,620 --> 00:06:01,515