>> [Mūzikas atskaņošanai]
>> ROB BOWDEN: Hi.
Es esmu Rob.
Un pieņemsim get mantkārīgs.
>> Tātad pirmā lieta, kas mums jādara ir pieprasīt no lietotāja, kā tieši
lielas izmaiņas ir parādā.
Tātad šeit mēs redzam, mums ir do / kamēr cilpa.
Un mēs esam nosakot dolāru vienāds ar GetFloat.
Kas ir GetFloat?
Tā ir viena no funkcijām CS50 bibliotēka, kas izpaužas
float no lietotāja.
Atcerieties, lai izmantotu šo funkciju, mums ir nepieciešams hash iekļaut
CS50.h augšpusē.
>> Tātad, kad mēs esam šo vērtību no lietotājs, mums ir nepieciešama arī, lai pārliecinātos, ka
tā ir derīga vērtība.
Mēs nevaram parādā negatīvu naudu.
Un tā tas ir mērķis Šī do / kamēr cilpa.
Mēs turpinām looping kamēr dolāru ir mazāks par nulli.
Un do / kamēr cilpa ir pareizi izmantot šeit, jo mums jājautā
lietotājs vismaz vienu reizi, kā daudz naudas ir parādā.
>> Tātad, kad mēs esam, ka dolāru skaitu, mēs redzam šeit mums ir int centi
vienāds kārta dolāru reizes CENTS_PER_DOLLAR.
Augšā, mēs redzam, ka CENTS_PER_DOLLAR ir
saprātīgi definēta kā 100.
Tātad, kas ir šī pozīcija dara?
>> Nu, ja jūs atceraties, peldošā punkta vērtības nav gluži precīzs.
Atšķirībā no veseliem skaitļiem, mēs nevaram pārstāvēt peldošā punkta vērtības precīzi.
Tur vienmēr ir dažas veida neprecizitāte.
Tāpēc mēs gribētu, lai strādātu tikai ar veseliem skaitļiem visu šo problēmu.
Un šeit, ja lietotājs ievada $ 3,42, mēs esam konvertējot ka 342 centiem un
noapaļošanu, vienkārši atbrīvoties no jebkurai šīs neprecizitātes.
>> Tātad, kad mums ir vairāki eurocentiem ir vesels skaitlis, varam turpināt
pārējās programmas.
Mēs redzam šeit, ka mēs esam paziņojot skaitlim monētas, kas mēs esam tikai, lai izmantotu
sekot no kopsummas monētu skaits.
Šeit mums ir mūsu pirmo kamēr cilpa.
>> Mēs skat. kamēr centi ir lielāks vai vienāds ar ceturto, kas iepriekš ir hash
definēts kā 25, bet tas ir taisnība, mēs gribu pieauguma savu monētu skaits
un Samazināt centi pa ceturkšņiem.
Atcerieties, ka šī sintakse ir līdzvērtīga centiem
vienāds centiem mīnus ceturksnī.
Tie ir vienādi.
>> Tātad, kas ir tas, kamēr cilpa dara?
Ideja šeit ir tāda, ka, ja es zinu, $ 3,42 ir parādā, es varētu turpināt sniegt
ceturtdaļas, kamēr es nevaru dot ceturtdaļas vairāk.
Es nevaru dot ceturtdaļas vairāk, kad es esmu devis $ 3,25.
>> Tātad, pēc tam, kad tas ir gadījumā, mēs izkļūt no šīs kamēr cilpa.
Centi būs jāatstāj pie 17 centiem.
Un mēs joprojām uz leju, lai nākamais kamēr cilpa, ja mēs sakām, bet centi
ir lielāks par vai vienāds ar Dime.
>> Un tagad mēs darām to pašu precīzu lieta, ko mēs darījām šajā ceturksnī gadījumā,
izņemot dimes.
Tātad ar $ 0,17 Mēs cilpa, kamēr mēs varam vairs dot Dime, kas ir
tieši vienu reizi.
Un tad mēs būsim atstāti ar 7 centiem.
>> Tad mēs turpināsim uz nickels, kas būs cilpa, kamēr mēs nevaram dot
kādi jauni nickels, kas būs atstāj mūs ar diviem centiem.
Un pēc tam uz leju apakšā, mēs pennies, kas būs cilpa, un būs
beidzot atstāj mūs ar nulles centiem.
Tad beigās, mēs vienkārši nepieciešams, lai izdrukāt savu monētu skaits.
>> Tāpēc šī programma ir pilnīgi pareizs.
Bet mēs faktiski var darīt mazliet labāk.
Tagad, ja es saku, ka es jums parādā $ 10000, Jums nav nepieciešams iet šeit ir viens
ceturksnī, divos ceturkšņos, trīs ceturtdaļas.
Jums vajadzētu zināt, uzreiz, ka Es parādā 40000 ceturtdaļas.
>> Tagad aplūkosim programmas, kas rīkojas ar to mazliet labāk.
Šajā versijā lietām, mums joprojām ir vajadzīgi pieprasīt no lietotāja par summu
mainīt, ka viņi vēlas tieši Tāpat mēs darījām agrāk.
Mums ir nepieciešams noapaļot to tieši kā mēs darījām pirms tam.
Un mums vēl ir mūsu monētas skaitlis paziņoja, tieši tāds pats kā pirms tam.
>> Tātad, šeit ir, ja lietas get nedaudz savādāka.
Mēs darām monētas plus vienāds centi sadalīta pa ceturkšņiem
kur ceturksnī ir 25.
Kas tas ir saprotams, ir, ņem tik daudz ceturtdaļas, kā var iet uz centiem un pievienot
ka uz monētām.
>> Tātad, ja centi ir 142, 142 dalīts līdz 25 dod mums 5.
Atcerieties, ka veselu sadalījumu automātiski saīsina.
Tāpēc mēs darām monētas plus vienāds 5.
>> Tūlīt pēc tam, mēs esam sakot, centi vienlīdzīgas centi mod ceturkšņa.
Atcerieties, ka mod operators sniedz mums atlikums pēc sadalīšanas.
Tātad 142 mod ceturksnī, kas dos ir 142 mīnus 125, kas ir 17.
Tas ir atlikums pēc darot 142 dalīts ar 25.
>> Tātad tagad centi ir vienāds ar 17.
Un mēs to pašu precīzu lieta dimes.
17 dalīts ar 10 dos mums 1.
Un mēs piebilst, ka uz monētām.
Un tad mēs atjaunināt centi būt 17 mod 10, kas ir par 7.
>> Un tad pats par nickels.
7 dala ar 5 ir 1.
Piebilst, ka uz monētām.
Un tad 7 mod 5 ir 2.
Un tas ir mūsu centi.
>> Un tad, pennies, nav reāla punkts dalījumam vai modding, jo,
ja mums ir $ 0,2 paliek pāri, mēs varam vienkārši uzreiz piebilst, ka, lai
Mūsu monētu skaits.
Un visbeidzot, mums ir nepieciešams izdrukāt mūsu monētu skaits un, pēc izvēles,
atgriezties 0 beigās mūsu programmas neizsaka visu strādāja.
>> Mans vārds ir Rob.
Un tas bija mantkārīgs.
>> [Mūzikas atskaņošanai]