[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]