>> [Tónlist spila]
>> ROB BOWDEN: Hæ.
Ég er Rob.
Og við skulum fá gráðugur.
>> Svo the fyrstur hlutur sem við þurfum að gera er að spyrja notandann nákvæmlega hvernig
miklar breytingar er skuldar.
Svo hér sjáum við að við höfum a gera / en lykkja.
Og við erum að setja dollara jafnt GetFloat.
Hvað er GetFloat?
Það er eitt af hlutverkum Í CS50 bókasafn sem fær
fljóta frá notandanum.
Mundu, í því skyni að nota þessi virka, við þurfum að kjötkássa fela
CS50.h efst.
>> Svo þegar við höfum þessi gildi frá notandi, þurfum við líka að vera viss um að
það gilt gildi.
Við getum ekki skuldar neikvæð peninga.
Og svo er að tilgangur þessarar gera / en lykkja.
Við höldum áfram lykkja meðan dollara er minna en núll.
Og a gera / en lykkja er rétt til að nota hér, þar sem við þurfum að spyrja
notandi amk einu sinni fyrir hversu mikið fé er skuldar.
>> Svo þegar við höfum að fjöldi dollara, sjáum við hér höfum int sent
jafngildir umferð dollara sinnum CENTS_PER_DOLLAR.
Efst, sjáum við að CENTS_PER_DOLLAR er
skynsamlega skilgreint sem 100 manns.
Svo hvað er þetta lína að gera?
>> Jæja, ef þú manst, Fljótandi Point gildi eru ekki alveg nákvæmar.
Ólíkt heiltölur, getum við ekki um Fleytitölugildi nákvæmlega.
Það er alltaf einhvers konar af imprecision.
Þannig að við vilja til að vinna með bara heiltölur allan þennan vanda.
Og hér, ef notandinn slær inn $ 3,42, við erum að umbreyta því í 342 sent og
lokið máli mínu, bara að losna við einhverju sem imprecision.
>> Svo þegar við höfum fjölda sent í heiltala, getum við haldið áfram með
hvíla af the program.
Við sjáum hér að við erum að lýsa heiltölu mynt sem við erum aðeins að nota
að halda utan um heildarfjölda fjöldi mynt.
Hér höfum við fyrst meðan lykkja okkar.
>> Við sjáum á meðan sent er meiri en eða jöfn fjórðungi sem á að framan er tæti
skilgreind sem 25, en það er satt, við langar að hækka fjölda okkar mynt
og lækka sent eftir ársfjórðungum.
Mundu að þetta setningafræði jafngildir sent
jafngildir sent mínus ársfjórðungi.
Þeir eru þeir sömu.
>> Svo hvað er þetta á meðan lykkja gera?
Hugmyndin hér er að, ef ég veit 3,42 $ er skuldaði, get ég haldið áfram að gefa
fjórðu fyrr en ég get ekki gefið ársfjórðungum lengur.
Ég get ekki gefið ársfjórðunga lengur, þegar ég hef gefið $ 3,25.
>> Svo, þegar það er málið, við munum brjótast út úr þessu while lykkju.
Sent verður eftir á 17 sent.
Og við munum halda áfram niður að næsta meðan lykkja þar sem við segjum, en sent
er stærra en eða jafnt og kostnað.
>> Og nú erum við að gera það sama nákvæmlega sem við gerðum í fjórðungnum ræða,
nema með Dimes.
Svo með $ 0,17, munum við lykkja þar til við getum ekki lengur gefa dime, sem er
nákvæmlega einu sinni.
Og þá munum við vera vinstri með 7 sent.
>> Þá munum við halda áfram á nickels, sem mun lykkja þar til við getum ekki gefið
einhverjar fleiri nikkel, sem mun skilja okkur með tvö sent.
Og þá, niður á botn, við höfum smáaurarnir, sem endurtekur og mun
lokum yfirgefa okkur með núll sent.
Þá í lok, þurfum við bara að prenta út fjölda okkar mynt.
>> Svo er þetta forrit fullkomlega rétt.
En við getum í raun gert a hluti betri.
Nú ef ég segi að ég skulda þér $ 10.000, þú ættir ekki að þurfa að fara hér er ein
ársfjórðungi, tvo fjórðunga, þrír fjórðu.
Þú ættir að vita strax að Ég skulda þér 40.000 ársfjórðunga.
>> Nú skulum líta á forrit sem annast það svolítið betur.
Í þessari útgáfu af hlutum, þurfum við enn að spyrja notanda um fjárhæð
breyta því sem þeir vilja í nákvæmlega á sama hátt og við gerðum áður.
Við þurfum að umferð það nákvæmlega hvernig við gerðum áður.
Og við höfum enn mynt okkar heiltala lýst nákvæmlega það sama og áður.
>> Svo er hér þar sem hlutirnir fá svolítið öðruvísi.
Við erum að gera mynt auk jafn sent skipt eftir ársfjórðungum
þar ársfjórðungur er 25.
Hvað þetta er að segja er, að taka eins og margir ársfjórðunga getur farið í sentum og bæta
að til þess að mynt.
>> Þannig að ef sent er 142, 142 skipt með 25 gefur okkur 5.
Muna að heiltala deild sjálfkrafa truncates.
Þannig að við erum að gera mynt plús jafngildir 5.
>> Strax eftir þetta, við erum að segja sent jafna sent unga fólkið ársfjórðungi.
Mundu að unga fólkið rekstraraðili gefur okkur afgangnum eftir deilingu.
Svo 142 Mod ársfjórðungi, sem mun gefa er 142 mínus 125, sem er 17.
Það er afgangurinn eftir gera 142 deilt með 25.
>> Svo nú sent er jafnt 17.
Og við gerum það sama nákvæmlega hlutur fyrir Dimes.
17 deilt með 10 mun gefa okkur 1.
Og við bæta að við mynt.
Og þá erum við að uppfæra sent til vera 17 Mod 10, sem er 7.
>> Og þá það sama fyrir nikkel.
7 deilt með 5 er 1.
Bæta við þessi til mynt.
Og þá er 7 unga fólkið 5 2.
Og það er sent okkar.
>> Og þá, fyrir smáaurarnir, það er engin alvöru lið í því að deila eða modding þar,
ef við höfum $ 0,2 afgangs, getum við bara strax bæta því við
númer okkar mynt.
Og að lokum, þurfum við að prenta út okkar fjölda mynt og, mögulega,
return 0 í lok áætlunarinnar okkar að signify allt í uppnámi.
>> Mitt nafn er Rob.
Og þetta var gráðugur.
>> [Tónlist spila]