>> [Predvaja glasba]
>> ROB Bowden: Hi.
Jaz sem Rob.
In kaj je dobil požrešen.
>> Torej prva stvar, ki jo morate storiti je vprašal uporabnika, točno, kako
veliko sprememb je dolžan.
Torej, tukaj vidimo imamo Do / while zanko.
In smo nastavitev dolarjev enako GetFloat.
Kaj je GetFloat?
To je ena od funkcij v CS50 knjižnica, ki dobi
plovec od uporabnika.
Ne pozabite, da se lahko uporabi te funkcije, moramo hash vključuje
CS50.h na vrhu.
>> Torej, ko imamo te vrednosti iz uporabnik, moramo biti prepričani, da
je veljavna vrednost.
Ne moremo dolgujem negativno denar.
In tako, da je namen to opravil / while zanko.
Nadaljujemo zanka, medtem ko dolarjev je manjša od nič.
In Ali / while zanka je prava stvar uporabiti tu, saj se moramo vprašati,
Uporabnik vsaj enkrat, kako koliko denarja je dolžan.
>> Torej, ko imamo to število dolarjev, vidimo tukaj imamo int centov
enak krog dolarjev krat CENTS_PER_DOLLAR.
Na vrhu, vidimo, da CENTS_PER_DOLLAR je
smiselno definirana kot 100.
Torej, kaj je ta linija dela?
>> No, če se spomnite, Floating Point Vrednosti niso povsem natančni.
Za razliko od števil, ne moremo predstavljati vrednosti s plavajočo vejico natančno.
Vedno je nekakšna nenatančen.
Zato smo se raje dela s samo števil skozi ta problem.
In tukaj, če uporabnik vnese 3,42 $, smo pretvarjanje, da 342 centov in
zaokroževanje, se le znebite koli od tega nenatančnosti.
>> Torej, ko imamo število centov na celo, da lahko nadaljuje s
Preostali del programa.
Vidimo tukaj, da smo razglasitvi celo kovanci, ki mi smo samo za uporabo
slediti skupno število kovancev.
Tu imamo prvo while zanko.
>> Vidimo, medtem ko centov, večja ali enako četrtletju, ki je zgoraj, je hašiš
definiran kot 25, medtem ko je to res, smo želijo prirastek naše število kovancev
in padanje centov po četrtletjih.
Ne pozabite, da je ta sintaksa enakovredna centov
enaka centov minus četrtino.
To so enaki.
>> Torej, kaj je to zanko, medtem ko delaš?
Ideja tukaj je, da če vem, 3,42 $ dolguje, sem lahko še naprej daje
četrtine, dokler ne morem dati četrtine več.
Ne morem dati četrtine več, ko sem dal 3,25 $.
>> Torej takrat, ko je temu tako, se bomo iztrgajo iz tega while zanko.
Centov bo ostalo na 17 centov.
In bomo še naprej navzdol na naslednjo while zanko, če rečemo, medtem ko centov
je večje ali enako kovanec.
>> In sedaj delamo enako natančni kar smo storili v primeru četrtletju,
razen centov.
Torej z 0,17 $, se bomo zanka, dokler smo lahko ne dobimo centa, ki je
natanko enkrat.
In bomo potem ostane pri 7 centov.
>> Potem se bomo še naprej, da nickels, ki bo ponavljal, dokler ne moremo dati
vse več novčič, ki bo nas je zapustil z dvema centov.
In nato, navzdol na dnu, smo penijev, ki bo zanka in bo
nam je končno zapustil z nič centov.
Nato pa na koncu, smo morali izpisal naš število kovancev.
>> Torej, ta program je popolnoma pravilna.
Vendar pa lahko dejansko narediti malo bolje.
Zdaj, če rečem, da sem ti dolžan $ 10.000 vam ni treba iti, tukaj je ena
četrtino, dve četrtini, tri četrtine.
Moral bi takoj vedeli, da je Jaz ti dolgujem 40.000 četrtine.
>> Zdaj pa si oglejmo program, ki obdeluje malo bolje.
V tej različici stvari, še vedno potrebujemo da od uporabnika zahteva za znesek
spremeniti, da želijo v točno enak način smo naredili prej.
Moramo ga zaokrožiti točno Tako smo storili prej.
In še vedno imamo kovance celo razglašen natanko enako kot prej.
>> Torej, tukaj je, če se stvari dobili malo drugačen.
Delamo kovancev plus enaka centov deljeno s četrtletjem
kjer je četrtina 25.
Kaj je to rekel je, da čim več četrtletjih, saj lahko gredo v centih in dodajte
da kovancev.
>> Torej, če centov je 142, 142, deljeno za 25 nam daje 5.
Ne pozabite, da je deljenje celih števil samodejno skrajša.
Torej delamo kovancev plus enaka 5.
>> Takoj po tem, mi praviš centov enake centov mod četrtletju.
Ne pozabite, da mod operater daje us ostanek po deljenju.
Torej 142 mod četrtletje, ki bo dal je 142 minus 125, kar je 17.
To je ostanek po delaš 142 deljeno z 25.
>> Torej, zdaj centov je enaka 17.
In naredimo enako natančni stvar centov.
17 deljeno z 10 nam bo dalo 1.
In smo dodali, da kovancev.
In potem smo posodobili centov je 17 mod 10, ki je 7.
>> In potem isto za nickels.
7 deljeno s 5 je 1.
Dodajajo, da na kovance.
In potem 7 mod 5 je 2.
In to je naša centov.
>> In potem, za penijev, ni resnična točka razdelitev ali modding, ker
če imamo $ 0,2 ostalo več, smo lahko Samo takoj doda, da
Naš število kovancev.
In končno, moramo natisniti naše število kovancev in, po izbiri,
vrne 0 ob koncu našega programa da se označi vse, kar je delal.
>> Moje ime je Rob.
In to je bil požrešen.
>> [Predvaja glasba]