>> [Glazba svira]
>> ROB Bowden: Bok.
Ja sam Rob.
I idemo pohlepni.
>> Dakle, prva stvar koju trebate učiniti se pitati korisnik točno kako
mnogo promjena je dugovao.
Pa evo, vidimo da imamo Do / while petlja.
I mi smo postavljanje dolara jednak GetFloat.
Što je GetFloat?
To je jedna od funkcija u CS50 knjižnica koja dobiva
plutaju od korisnika.
Sjeti se, kako bi mogli koristiti tu funkciju, moramo hash uključuju
CS50.h na vrhu.
>> Dakle, nakon što smo ih vrijednosti od Korisnik, moramo biti sigurni da
to je valjana vrijednost.
Ne možemo duguju negativan novac.
I to je svrha ove zadataka / while petlja.
Nastavljamo petlje dok dolara manje od nule.
I učiniti / while petlja je prava stvar koristiti ovdje, jer moramo pitati
Korisnik barem jednom koliko koliko novca se duguje.
>> Dakle, nakon što smo ih nekoliko dolara, vidimo ovdje imamo int centi
jednako okrugli dolara puta CENTS_PER_DOLLAR.
Na vrhu, vidimo da CENTS_PER_DOLLAR je
osjetno definira kao 100.
Pa što je to linija radi?
>> Pa, ako se sjećate, Floating Point Vrijednosti nisu sasvim precizni.
Za razliku od cijelih brojeva, ne može predstavljati pomičnim zarezom vrijednosti točno.
Uvijek postoji neka vrsta nepreciznosti.
Dakle, mi draže raditi sa samo cijelih brojeva u cijelom ovom problemu.
I ovdje, ako je korisnik unio 3,42 dolara, mi smo pretvaranja da je 342 centi i
zaokruživanje, samo se riješiti bilo tog nepreciznosti.
>> Dakle, nakon što smo broj centi u cijeli broj, možemo nastaviti s
Ostatak programa.
Ovdje vidimo da smo progla cijeli broj novci koje smo si samo za korištenje
pratiti od ukupnog broj kovanica.
Evo, mi smo naš prvi while petlja.
>> Vidimo centa dok je veći od ili jednak tromjesečju, što je gore, je mljeveno meso
definiran kao 25., a to je istina, mi želite povećavati naš broj kovanica
i smanjenje centi po kvartalu.
Ne zaboravite da je ovo sintakse je ekvivalent centa
jednako centi minus četvrtinu.
Oni su isti.
>> Pa što je to, a loop radi?
Ideja je da, ako znam 3,42 dolara je dugovao, mogu nastaviti pružati
četvrtine dok ja ne mogu dati četvrtine bilo više.
Ja ne mogu dati četvrtine bilo više, nakon što sam dobio 3,25 dolara.
>> Dakle, nakon što je to slučaj, mi ćemo izaći iz ovog while petlje.
Centi će ostati na 17 centi.
I mi ćemo nastaviti do sljedećeg while petlja gdje smo rekli, dok centi
je veći od ili jednak dime.
>> I sada radimo isto točno stvar koju smo učinili u četvrtfinalu slučaju,
osim dimes.
Tako je s 0,17 dolara, mi ćemo petlju dok možemo više ne daju ni lipe, što je
točno jednom.
I onda ćemo biti s lijeve strane 7 centi.
>> Onda ćemo nastaviti na nickels, koji će loop dok mi ne mogu dati
bilo više Nickels, koji će ostavite nam dva centa.
A onda, na dnu, imamo penija, što će petlje i volje
napokon nas ostavite s nula centi.
Onda na kraju, samo mi treba da isprintati naš broj kovanica.
>> Dakle, ovaj program je savršeno u pravu.
No, mi zapravo može napraviti nešto bolje.
Sada, ako kažem da sam vam dugujem 10.000 $, da ne trebate ići tamo jedan
četvrtine, dva tromjesečja, tri četvrtine.
Ti bi trebao znati da se odmah Dugujem vam 40.000 četvrtine.
>> Sada pogledajmo programu koji to ručke malo bolje.
U ovoj verziji stvari, još uvijek je potrebno pitati korisnika za iznos od
promijeniti da žele u točno isti način smo učinili prije.
Moramo ga zaokružiti točno Način na koji smo i prije.
A mi još uvijek imamo novca cijeli proglasio je točno isto kao i prije.
>> Dakle, ovdje je gdje se stvari dobiti malo drugačiji.
Činimo novca plus dosegne centi podijeljenih po tromjesečjima
gdje je četvrtina je 25.
Što to govori je, uzeti onoliko četvrtine što može ići u centa i dodati
da bi kovanica.
>> Dakle, ako centi je 142, 142 podijeljeno za 25 nam daje pet.
Ne zaboravite da cjelobrojnog dijeljenja automatski truncatus.
Tako radimo novca plus iznosi pet.
>> Odmah nakon toga, mi govoriš cents jednake centi mod tromjesečju.
Ne zaboravite da je mod operator daje nam preostali nakon podjele.
Dakle, 142 mod kvartalu, koja će dati je minus 142 125, koji je 17.
To je ostatak nakon radi 142 podijeljeno 25.
>> Tako sada centi jednak 17.
I mi isto točno stvar za dimes.
17 podijeljeno 10 će nam dati jedan.
A mi dodati da bi kovanica.
A onda ćemo ažurirati centi na se 17 mod 10, što je 7.
>> A onda je isto za nickels.
7 podijeljena 5 je 1.
Dodaj da se kovanica.
I onda 7 mod 5 2.
I to je naša centi.
>> I onda, za novčana jedinica, nema stvarne točka u podjele ili modding, jer,
ako imamo 0,2 dolara preostalo, možemo Samo odmah dodati da se
naš broj kovanica.
I na kraju, moramo se ispisati na našim Broj kovanica i, po potrebi,
return 0 na kraju našeg programa da označi sve što je radio.
>> Moje ime je Rob.
I to je bio pohlepan.
>> [Glazba svira]