1 00:00:00,000 --> 00:00:00,994 2 00:00:00,994 --> 00:00:11,431 >> [CHWARAE CERDDORIAETH] 3 00:00:11,431 --> 00:00:12,500 >> ROB BOWDEN: Hi. 4 00:00:12,500 --> 00:00:13,230 Rwy'n Rob. 5 00:00:13,230 --> 00:00:15,080 A gadewch i ni gael Greedy. 6 00:00:15,080 --> 00:00:18,560 >> Felly, y peth cyntaf mae angen i ni ei wneud yn gofyn i'r defnyddiwr yn union sut y 7 00:00:18,560 --> 00:00:20,500 o newid yn ddyledus. 8 00:00:20,500 --> 00:00:23,310 Felly dyma, gwelwn gennym a do / tra ddolen. 9 00:00:23,310 --> 00:00:26,650 Ac rydym yn gosod ddoleri cyfartal i GetFloat. 10 00:00:26,650 --> 00:00:27,890 Beth yw GetFloat? 11 00:00:27,890 --> 00:00:30,700 Mae'n un o'r swyddogaethau yn y Llyfrgell CS50 sy'n cael 12 00:00:30,700 --> 00:00:32,450 arnofio oddi wrth y defnyddiwr. 13 00:00:32,450 --> 00:00:35,200 Cofiwch, er mwyn defnyddio'r swyddogaeth honno, mae angen i ni hash cynnwys 14 00:00:35,200 --> 00:00:37,790 CS50.h ar y brig. 15 00:00:37,790 --> 00:00:42,310 >> Felly, ar ôl i ni gael y gwerth o'r defnyddiwr, mae angen inni hefyd fod yn sicr bod 16 00:00:42,310 --> 00:00:43,560 mae'n werth dilys. 17 00:00:43,560 --> 00:00:46,050 Ni allwn arian yn ddyledus negyddol. 18 00:00:46,050 --> 00:00:48,460 Ac felly dyna pwrpas o do hwn / tra ddolen. 19 00:00:48,460 --> 00:00:52,420 Rydym yn parhau dolennu tra ddoleri yn llai na sero. 20 00:00:52,420 --> 00:00:56,960 A do / tra ddolen yw'r peth iawn i ddefnyddio yma, gan fod angen i ni ofyn i'r 21 00:00:56,960 --> 00:01:00,290 defnyddiwr o leiaf unwaith ar gyfer sut y o arian sy'n ddyledus. 22 00:01:00,290 --> 00:01:05,040 >> Felly, ar ôl i ni gael y nifer o ddoleri, rydym yn gweld yma rydym wedi cents int 23 00:01:05,040 --> 00:01:08,630 yn dychwelyd rownd ddoleri amseroedd CENTS_PER_DOLLAR. 24 00:01:08,630 --> 00:01:10,740 Ar y brig, rydym yn gweld bod CENTS_PER_DOLLAR yn 25 00:01:10,740 --> 00:01:13,750 a ddiffinnir yn synhwyrol fel 100. 26 00:01:13,750 --> 00:01:16,270 Felly, beth mae hyn yn llinell yn ei wneud? 27 00:01:16,270 --> 00:01:21,200 >> Wel, os ydych yn cofio, pwynt arnawf Nid yw gwerthoedd yn eithaf manwl. 28 00:01:21,200 --> 00:01:25,470 Yn wahanol i cyfanrifau, ni allwn gynrychioli Gwerthoedd pwynt arnawf yn union. 29 00:01:25,470 --> 00:01:28,660 Mae bob amser yn rhyw fath o anfanyldeb. 30 00:01:28,660 --> 00:01:32,840 Felly, mae'n well gennym i weithio gyda dim ond cyfanrifau drwy gydol y broblem. 31 00:01:32,840 --> 00:01:42,690 Ac yma, os bydd y defnyddiwr yn mynd i $ 3.42, rydym yn trosi hynny i 342 cents a 32 00:01:42,690 --> 00:01:45,900 talgrynnu, dim ond cael gwared ar unrhyw ran o'r anfanyldeb. 33 00:01:45,900 --> 00:01:49,940 >> Felly, ar ôl i ni gael y nifer o cents yn cyfanrif, gallwn barhau gyda'r 34 00:01:49,940 --> 00:01:51,730 gweddill y rhaglen. 35 00:01:51,730 --> 00:01:55,910 Rydym yn gweld yma ein bod yn datgan cyfanrif darnau arian yr ydym yn yn unig i ddefnyddio 36 00:01:55,910 --> 00:01:59,560 i gadw golwg ar y cyfanswm nifer o ddarnau arian. 37 00:01:59,560 --> 00:02:01,590 Yma, rydym wedi ein dolen tra'n cyntaf. 38 00:02:01,590 --> 00:02:06,780 >> Rydym yn gweld wrth cents yn fwy na neu'n cyfartal i chwarter, sydd uchod, hash 39 00:02:06,780 --> 00:02:14,680 a ddiffinnir fel 25, tra bod hynny'n wir, yr ydym yn eisiau cynyddiad ein nifer o ddarnau arian 40 00:02:14,680 --> 00:02:18,350 a cents lleihau a gan chwarter. 41 00:02:18,350 --> 00:02:22,810 Cofiwch fod cystrawen hwn yn cyfateb i cents 42 00:02:22,810 --> 00:02:26,020 yn dychwelyd cents minws chwarter. 43 00:02:26,020 --> 00:02:28,170 Mae'r rhai yr un fath. 44 00:02:28,170 --> 00:02:31,850 >> Felly, beth mae hyn yn dolen wrth wneud? 45 00:02:31,850 --> 00:02:39,260 Y syniad yma yw, os byddaf yn gwybod 3.42 $ yn ddyledus, gallaf barhau i roi 46 00:02:39,260 --> 00:02:42,670 chwarter hyd nes nad wyf yn gallu rhoi chwarter mwyach. 47 00:02:42,670 --> 00:02:47,720 Ni allaf roi unrhyw chwarter yn fwy, unwaith y byddaf wedi rhoi $ 3.25. 48 00:02:47,720 --> 00:02:53,300 >> Felly, yna, unwaith y bydd hynny'n wir, byddwn ni dorri allan o hyn dolen amser. 49 00:02:53,300 --> 00:02:57,650 Bydd Cents cael eu gadael yn 17 cents. 50 00:02:57,650 --> 00:03:01,910 A byddwn yn parhau i lawr i'r nesaf tra bod dolen lle rydym yn ei ddweud, tra bod cents 51 00:03:01,910 --> 00:03:04,270 yn fwy na neu'n hafal i dime. 52 00:03:04,270 --> 00:03:07,420 >> Ac yn awr rydym yn ei wneud yr un peth union beth a wnaethom yn yr achos chwarter, 53 00:03:07,420 --> 00:03:09,010 ac eithrio gyda dimes. 54 00:03:09,010 --> 00:03:15,050 Felly, gyda $ 0.17, rydym yn annhymerus 'dolen nes y gallwn bellach yn rhoi dime, sy'n 55 00:03:15,050 --> 00:03:16,680 yn union yr un pryd. 56 00:03:16,680 --> 00:03:20,470 Ac yna byddwn yn gadael gyda 7 cents. 57 00:03:20,470 --> 00:03:24,730 >> Yna, byddwn yn parhau ar i Nickels, a oedd yn Bydd dolen nes na allwn roi 58 00:03:24,730 --> 00:03:29,420 unrhyw mwy Nickels, a fydd yn ein gadael gyda dau cents. 59 00:03:29,420 --> 00:03:34,400 Ac yna, i lawr ar y gwaelod, rydym wedi ceiniogau, a fydd yn ddolen a bydd yn 60 00:03:34,400 --> 00:03:37,140 yn olaf ein gadael gyda sero cents. 61 00:03:37,140 --> 00:03:41,670 Yna, ar y diwedd, ond mae angen i ni argraffu ein nifer o ddarnau arian. 62 00:03:41,670 --> 00:03:44,980 >> Felly, y rhaglen hon yn gwbl gywir. 63 00:03:44,980 --> 00:03:47,310 Ond gallwn ei wneud mewn gwirionedd ychydig yn well. 64 00:03:47,310 --> 00:03:52,660 Nawr, os wyf yn dweud fy mod yn ddyledus i chi $ 10,000, Ni ddylai fod angen i chi fynd dyma un 65 00:03:52,660 --> 00:03:55,310 chwarter, dau chwarter, tri chwarter. 66 00:03:55,310 --> 00:03:59,450 Dylech wybod ar unwaith bod Yr wyf yn ddyledus i chi 40,000 o chwarter. 67 00:03:59,450 --> 00:04:04,070 >> Nawr, gadewch i ni edrych ar rhaglen sy'n drin yn ychydig yn well. 68 00:04:04,070 --> 00:04:07,190 Yn y fersiwn hwn o bethau, mae angen i ni i ofyn i'r defnyddiwr ar gyfer y swm o 69 00:04:07,190 --> 00:04:10,930 newid eu bod eisiau yn yr union yr un ffordd yr ydym o'r blaen. 70 00:04:10,930 --> 00:04:14,110 Mae angen i ni orffen yn union y ffordd y gwnaeth gennym o'r blaen. 71 00:04:14,110 --> 00:04:17,910 Ac rydym yn dal i gael ein darnau arian cyfanrifol datgan yn union yr un fath ag o'r blaen. 72 00:04:17,910 --> 00:04:21,399 >> Felly dyma ble mae pethau cael ychydig yn wahanol. 73 00:04:21,399 --> 00:04:24,640 Rydym yn gwneud darnau arian yn ogystal â hafal cents wedi'i rannu gan chwarter 74 00:04:24,640 --> 00:04:27,140 lle mae chwarter yw 25. 75 00:04:27,140 --> 00:04:31,790 Beth mae hyn yn ei ddweud yw, cymryd cymaint o Gall chwarter fel mynd i mewn cents ac ychwanegu 76 00:04:31,790 --> 00:04:33,030 hynny i ddarnau arian. 77 00:04:33,030 --> 00:04:40,100 >> Felly os cents yn 142, 142 rannu 25 yn rhoi i ni 5. 78 00:04:40,100 --> 00:04:43,950 Cofiwch bod rhannu cyfanrif truncates yn awtomatig. 79 00:04:43,950 --> 00:04:46,870 Felly rydym yn ei wneud darnau arian a mwy yn dychwelyd 5. 80 00:04:46,870 --> 00:04:51,850 >> Yn syth ar ôl hyn, rydym yn dweud cents cents cyfartal chwarter mod. 81 00:04:51,850 --> 00:04:57,150 Cofiwch bod y gweithredwr mod yn rhoi i ni y gweddill ar ôl rhannu. 82 00:04:57,150 --> 00:05:05,840 Felly, 142 y chwarter mod, a fydd yn rhoi yw 142 minws 125, sef 17. 83 00:05:05,840 --> 00:05:10,470 Dyna y gweddill ar ôl gwneud 142 wedi'i rannu â 25. 84 00:05:10,470 --> 00:05:13,040 >> Felly nawr cents yn hafal i 17. 85 00:05:13,040 --> 00:05:16,080 Ac rydym yn ei wneud yr un peth union beth am dimes. 86 00:05:16,080 --> 00:05:18,620 17 wedi'i rannu â 10 yn rhoi i ni 1. 87 00:05:18,620 --> 00:05:20,150 Ac rydym yn ychwanegu hynny at ddarnau arian. 88 00:05:20,150 --> 00:05:25,380 Ac yna rydym yn diweddaru cents i fod yn 17 mod 10, sydd 7. 89 00:05:25,380 --> 00:05:27,200 >> Ac yna yr un fath ar gyfer Nickels. 90 00:05:27,200 --> 00:05:29,180 7 wedi'i rannu gan 5 yw 1. 91 00:05:29,180 --> 00:05:30,880 Ychwanegu at ddarnau arian. 92 00:05:30,880 --> 00:05:34,600 Ac yna 7 mod 5 yw 2. 93 00:05:34,600 --> 00:05:35,910 A dyna ein cents. 94 00:05:35,910 --> 00:05:39,065 >> Ac yna, ar gyfer ceiniogau, does dim go iawn pwynt yn rhannu neu modding, ers hynny, 95 00:05:39,065 --> 00:05:42,170 os oes gennym $ 0.2 yn weddill, gallwn dim ond unwaith ei ychwanegu at 96 00:05:42,170 --> 00:05:43,590 ein nifer o ddarnau arian. 97 00:05:43,590 --> 00:05:48,210 Ac yn olaf, mae angen i ni argraffu ein nifer o ddarnau arian ac, yn ddewisol, 98 00:05:48,210 --> 00:05:52,100 yn dychwelyd 0 ar ddiwedd ein rhaglen i ddynodi popeth yn gweithio. 99 00:05:52,100 --> 00:05:53,120 >> Fy enw i yw Rob. 100 00:05:53,120 --> 00:05:54,020 Ac roedd hyn yn Greedy. 101 00:05:54,020 --> 00:05:57,620 >> [CHWARAE CERDDORIAETH] 102 00:05:57,620 --> 00:06:01,515