[CHWARAE CERDDORIAETH] ROB BOWDEN: Hi. Rwy'n Rob. A gadewch i ni gael Greedy. Felly, y peth cyntaf mae angen i ni ei wneud yn gofyn i'r defnyddiwr yn union sut y o newid yn ddyledus. Felly dyma, gwelwn gennym a do / tra ddolen. Ac rydym yn gosod ddoleri cyfartal i GetFloat. Beth yw GetFloat? Mae'n un o'r swyddogaethau yn y Llyfrgell CS50 sy'n cael arnofio oddi wrth y defnyddiwr. Cofiwch, er mwyn defnyddio'r swyddogaeth honno, mae angen i ni hash cynnwys CS50.h ar y brig. Felly, ar ôl i ni gael y gwerth o'r defnyddiwr, mae angen inni hefyd fod yn sicr bod mae'n werth dilys. Ni allwn arian yn ddyledus negyddol. Ac felly dyna pwrpas o do hwn / tra ddolen. Rydym yn parhau dolennu tra ddoleri yn llai na sero. A do / tra ddolen yw'r peth iawn i ddefnyddio yma, gan fod angen i ni ofyn i'r defnyddiwr o leiaf unwaith ar gyfer sut y o arian sy'n ddyledus. Felly, ar ôl i ni gael y nifer o ddoleri, rydym yn gweld yma rydym wedi cents int yn dychwelyd rownd ddoleri amseroedd CENTS_PER_DOLLAR. Ar y brig, rydym yn gweld bod CENTS_PER_DOLLAR yn a ddiffinnir yn synhwyrol fel 100. Felly, beth mae hyn yn llinell yn ei wneud? Wel, os ydych yn cofio, pwynt arnawf Nid yw gwerthoedd yn eithaf manwl. Yn wahanol i cyfanrifau, ni allwn gynrychioli Gwerthoedd pwynt arnawf yn union. Mae bob amser yn rhyw fath o anfanyldeb. Felly, mae'n well gennym i weithio gyda dim ond cyfanrifau drwy gydol y broblem. Ac yma, os bydd y defnyddiwr yn mynd i $ 3.42, rydym yn trosi hynny i 342 cents a talgrynnu, dim ond cael gwared ar unrhyw ran o'r anfanyldeb. Felly, ar ôl i ni gael y nifer o cents yn cyfanrif, gallwn barhau gyda'r gweddill y rhaglen. Rydym yn gweld yma ein bod yn datgan cyfanrif darnau arian yr ydym yn yn unig i ddefnyddio i gadw golwg ar y cyfanswm nifer o ddarnau arian. Yma, rydym wedi ein dolen tra'n cyntaf. Rydym yn gweld wrth cents yn fwy na neu'n cyfartal i chwarter, sydd uchod, hash a ddiffinnir fel 25, tra bod hynny'n wir, yr ydym yn eisiau cynyddiad ein nifer o ddarnau arian a cents lleihau a gan chwarter. Cofiwch fod cystrawen hwn yn cyfateb i cents yn dychwelyd cents minws chwarter. Mae'r rhai yr un fath. Felly, beth mae hyn yn dolen wrth wneud? Y syniad yma yw, os byddaf yn gwybod 3.42 $ yn ddyledus, gallaf barhau i roi chwarter hyd nes nad wyf yn gallu rhoi chwarter mwyach. Ni allaf roi unrhyw chwarter yn fwy, unwaith y byddaf wedi rhoi $ 3.25. Felly, yna, unwaith y bydd hynny'n wir, byddwn ni dorri allan o hyn dolen amser. Bydd Cents cael eu gadael yn 17 cents. A byddwn yn parhau i lawr i'r nesaf tra bod dolen lle rydym yn ei ddweud, tra bod cents yn fwy na neu'n hafal i dime. Ac yn awr rydym yn ei wneud yr un peth union beth a wnaethom yn yr achos chwarter, ac eithrio gyda dimes. Felly, gyda $ 0.17, rydym yn annhymerus 'dolen nes y gallwn bellach yn rhoi dime, sy'n yn union yr un pryd. Ac yna byddwn yn gadael gyda 7 cents. Yna, byddwn yn parhau ar i Nickels, a oedd yn Bydd dolen nes na allwn roi unrhyw mwy Nickels, a fydd yn ein gadael gyda dau cents. Ac yna, i lawr ar y gwaelod, rydym wedi ceiniogau, a fydd yn ddolen a bydd yn yn olaf ein gadael gyda sero cents. Yna, ar y diwedd, ond mae angen i ni argraffu ein nifer o ddarnau arian. Felly, y rhaglen hon yn gwbl gywir. Ond gallwn ei wneud mewn gwirionedd ychydig yn well. Nawr, os wyf yn dweud fy mod yn ddyledus i chi $ 10,000, Ni ddylai fod angen i chi fynd dyma un chwarter, dau chwarter, tri chwarter. Dylech wybod ar unwaith bod Yr wyf yn ddyledus i chi 40,000 o chwarter. Nawr, gadewch i ni edrych ar rhaglen sy'n drin yn ychydig yn well. Yn y fersiwn hwn o bethau, mae angen i ni i ofyn i'r defnyddiwr ar gyfer y swm o newid eu bod eisiau yn yr union yr un ffordd yr ydym o'r blaen. Mae angen i ni orffen yn union y ffordd y gwnaeth gennym o'r blaen. Ac rydym yn dal i gael ein darnau arian cyfanrifol datgan yn union yr un fath ag o'r blaen. Felly dyma ble mae pethau cael ychydig yn wahanol. Rydym yn gwneud darnau arian yn ogystal â hafal cents wedi'i rannu gan chwarter lle mae chwarter yw 25. Beth mae hyn yn ei ddweud yw, cymryd cymaint o Gall chwarter fel mynd i mewn cents ac ychwanegu hynny i ddarnau arian. Felly os cents yn 142, 142 rannu 25 yn rhoi i ni 5. Cofiwch bod rhannu cyfanrif truncates yn awtomatig. Felly rydym yn ei wneud darnau arian a mwy yn dychwelyd 5. Yn syth ar ôl hyn, rydym yn dweud cents cents cyfartal chwarter mod. Cofiwch bod y gweithredwr mod yn rhoi i ni y gweddill ar ôl rhannu. Felly, 142 y chwarter mod, a fydd yn rhoi yw 142 minws 125, sef 17. Dyna y gweddill ar ôl gwneud 142 wedi'i rannu â 25. Felly nawr cents yn hafal i 17. Ac rydym yn ei wneud yr un peth union beth am dimes. 17 wedi'i rannu â 10 yn rhoi i ni 1. Ac rydym yn ychwanegu hynny at ddarnau arian. Ac yna rydym yn diweddaru cents i fod yn 17 mod 10, sydd 7. Ac yna yr un fath ar gyfer Nickels. 7 wedi'i rannu gan 5 yw 1. Ychwanegu at ddarnau arian. Ac yna 7 mod 5 yw 2. A dyna ein cents. Ac yna, ar gyfer ceiniogau, does dim go iawn pwynt yn rhannu neu modding, ers hynny, os oes gennym $ 0.2 yn weddill, gallwn dim ond unwaith ei ychwanegu at ein nifer o ddarnau arian. Ac yn olaf, mae angen i ni argraffu ein nifer o ddarnau arian ac, yn ddewisol, yn dychwelyd 0 ar ddiwedd ein rhaglen i ddynodi popeth yn gweithio. Fy enw i yw Rob. Ac roedd hyn yn Greedy. [CHWARAE CERDDORIAETH]