>> [Musiikki soi]
>> ROB BOWDEN: Hei.
Olen Rob.
Ja Mennään Greedy.
>> Joten ensimmäinen asia, joka meidän täytyy tehdä on kysyä käyttäjältä, miten
paljon muutosta on velkaa.
Joten tässä, me näemme meillä on do / while-silmukka.
Ja olemme arvostelemassa dollaria yhtä GetFloat.
Mikä on GetFloat?
Se on yksi toimintoja CS50 kirjasto, joka saa
float käyttäjältä.
Muista, jotta käyttää tätä toimintoa, meidän hash sisällyttää
CS50.h yläreunassa.
>> Joten kun meillä on tuo arvo käyttäjä, meidän on myös olla varma, että
se on kelvollinen arvo.
Emme voi velkaa negatiivisia rahaa.
Ja niin se on tarkoitus Tämän do / while-silmukka.
Jatkamme kiehkura taas dollaria on pienempi kuin nolla.
Ja do / while-silmukka on oikein käyttää täällä, koska meidän on kysyttävä
Käyttäjä vähintään kerran miten paljon rahaa on velkaa.
>> Joten kun meillä on tuo määrä dollareita, näemme tässä meillä on int senttiä
vastaa pyöreä dollaria kertaa CENTS_PER_DOLLAR.
Ylimpänä näemme, että CENTS_PER_DOLLAR on
järkevästi määritelty 100.
Joten mitä tämä linja tekee?
>> No, jos muistat, liukulukuoperaatioita arvot eivät ole aivan tarkkoja.
Toisin kuin kokonaislukuja, emme voi edustaa liukuluvuiksi tarkalleen.
Aina on jonkinlainen epätarkkuuden.
Joten me mieluummin työskennellä vain kokonaislukuja koko tämän ongelman.
Ja tässä, jos käyttäjä kirjoittaa 3,42 dollaria, olemme muuntaa että 342 senttiä ja
pyöristys, vain päästä eroon mitään siitä epätarkkuus.
>> Joten kun meillä on useita senttiä kokonaisluku, voimme jatkaa
Loput ohjelman.
Näemme tässä, että olemme julistamisesta kokonaisluku kolikoita, jotka me olemme vain käyttää
seurata yhteensä määrä kolikoita.
Täällä meillä on ensimmäinen kun silmukka.
>> Näemme taas senttiä on suurempi tai yhtä neljänneksellä, mikä edellä on hash
määritellään 25, kun se on totta, me haluavat kasvattaa meidän kolikoiden määrä
ja vähenemä senttiä neljänneksittäin.
Muista, että tämä syntaksin vastaa senttiä
vastaa senttiä miinus neljänneksellä.
Nämä ovat samat.
>> Joten mitä tämä kun silmukka teet?
Ideana on, että jos tiedän 3,42 dollaria on velkaa, voin jatkaa antaa
neljäsosaa, kunnes en voi antaa neljäsosaa enempää.
En voi antaa neljäsosaa enempää, kun olen antanut 3,25 dollaria.
>> Joten sitten, kun näin on, näytämme murtautua ulos tästä kun silmukka.
Senttiä jää 17 senttiä.
Ja jatkamme alas seuraavaan While-silmukka, jossa sanomme, kun taas senttiä
on suurempi tai yhtä suuri kuin dime.
>> Ja nyt teemme täsmälleen sama asia teimme neljänneksellä tapauksessa
paitsi Dimes.
Joten ,17dollari käymme silmukka kunnes voimme eivät enää anna penniäkään, joka on
tasan kerran.
Ja sitten me jäädä 7 senttiä.
>> Sitten jatkamme edelleen Nickels, joka tulee silmukka kunnes emme voi antaa
enempää nickels, joka tulee jättää meille kaksi senttiä.
Ja sitten, alas alareunassa, meillä on penniä, mikä silmukka ja tulee
lopulta jättää meille nolla senttiä.
Sitten lopussa, meidän täytyy vain tulostaa meidän määrä kolikoita.
>> Joten tämä ohjelma on täysin oikeassa.
Mutta voimme itse tehdä vähän paremmin.
Nyt jos sanon, että olen velkaa 10.000 dollaria, sinun ei tarvitse mennä tässä yksi
neljänneksellä, kaksi vuosineljännestä, kolme neljäsosaa.
Sinun pitäisi tietää heti, että Olen sinulle velkaa 40000 neljäsosaa.
>> Nyt Katsotaanpa ohjelma, joka käsittelee sitä hieman paremmin.
Tässä versiossa asioita, tarvitsemme edelleen pyytää käyttäjältä määrän
muuttaa, että he haluavat täsmälleen samalla tavalla teimme ennen.
Meidän täytyy pyöristää se tarkalleen me teimme ennen.
Ja meillä on edelleen kolikoita kokonaisluku ilmoitettu täsmälleen sama kuin ennen.
>> Joten tässä on, jos asiat saada hieman erilainen.
Teemme kolikoita plus tasavertaisina senttiä jaettuna neljänneksellä
jos neljännes on 25.
Mitä tämä sanoo,, ottaa niin monta tahoilla voi mennä senttiä ja lisää
että kolikoita.
>> Joten jos senttiä on 142, 142 jaettuna 25 antaa meille 5.
Muista, että kokonaislukujakolasku automaattisesti katkaisee.
Joten teemme kolikoita plus vastaa 5.
>> Heti tämän jälkeen, sanomme senttiä yhtä senttiä mod neljänneksellä.
Muista, että mod Käyttäjä antaa meille loput jälkeen jako.
Joten 142 mod neljänneksellä, joka antaa on 142 miinus 125, joka on 17.
Tuo loput jälkeen teet 142 jaettuna 25.
>> Joten nyt senttiä on 17.
Ja teemme täsmälleen sama asia Dimes.
17 jaettuna 10 antaa meille 1.
Ja lisäämme, että kolikoita.
Ja sitten me päivitämme senttiä olla 17 mod 10, mikä on 7.
>> Ja sitten sama nickels.
7 jaettuna 5 on 1.
Lisätä, että kolikoita.
Ja sitten 7 mod 5 on 2.
Ja se on meidän senttiä.
>> Ja sitten, penniä, ei ole todellista mielekästä jakaa tai Modaus, koska
jos meillä on 0,2 dollaria jäljellä, voimme vain heti lisätä, että
meidän määrä kolikoita.
Ja lopuksi, meidän täytyy tulostaa meidän määrä kolikoita, ja mahdollisesti
return 0 lopussa ohjelmamme merkiksi kaikki toimi.
>> Nimeni on Rob.
Ja tämä oli ahne.
>> [Musiikki soi]