>> [Музика свира]
>> РОБ БОВДЕН: Здраво.
Ја сам Роб.
И хајде да се похлепни.
>> Дакле, прва ствар коју треба да урадите се пита корисника тачно како
много промена се дугује.
Дакле, овде видимо да имамо До / док петља.
И ми смо постављање долара једнак ГетФлоат.
Шта је ГетФлоат?
То је једна од функција у ЦС50 библиотека која добија
плутају од корисника.
Запамтите, да би користили ту функцију, морамо да размотре укључују
ЦС50.х на врху.
>> Дакле, када имамо ту вредност од корисник, ми такође треба да буду сигурни да
то је важећа вредност.
Ми не можемо да дугујемо негативан новац.
И тако да је сврха До овог / док петља.
Настављамо лоопинг док долара је мање од нуле.
И до / вхиле петље је права ствар користити овде, јер морамо да питате
корисник бар једном за колико много новца се дугује.
>> Дакле, када имамо тај број долара, видимо овде имамо инт центи
једнако круг долара пута ЦЕНТС_ПЕР_ДОЛЛАР.
На врху, видимо да ЦЕНТС_ПЕР_ДОЛЛАР је
разумно дефинисана као 100.
Дакле, шта је то линија ради?
>> Па, ако се сећате, Флоатинг Поинт вредности нису сасвим прецизни.
За разлику од целих бројева, што не може да заступа Вредности флоатинг поинт тачно.
Увек постоји нека врста непрецизности.
Дакле, ми више волимо да радимо са целим бројевима само кроз овај проблем.
И овде, ако корисник унео $ 3.42, смо претварање да на 342 центи и
заокруживање, само отарасити било тог непрецизности.
>> Дакле, када имамо број центи у цео број, можемо да наставимо са
Остатак програма.
Ми овде видимо да смо цео изјављујући ковани новац који ми смо само за коришћење
да пратите од укупног број кованица.
Ево, ми имамо наш први вхиле.
>> Ми видимо док центи је већа или једнака кварталу, што горе, је тараба
дефинисана као 25, док је то истина, ми Желим да повећате наш број кованица
и Смањи центи по кварталу.
Запамтите да је ова синтакса је еквивалентна центи
једнако центи минус четвртину.
Они су исти.
>> Дакле, шта је то док петља радите?
Идеја је да, ако ја знам $ 3.42 се дугује, ја могу наставити давање
четвртине док ја не могу да дам четвртине више.
Ја не могу да дам четвртине било више, Једном сам дао $ 3.25.
>> Па онда, када је то случај, ми ћемо пробије из ове вхиле.
Динара ће остати на 17 центи.
И ми ћемо наставити до следећег док петља где кажемо, док центи
је већи од или једнак диме.
>> И сада радимо исти тачан ствар коју смо урадили у четвртфиналу случају,
осим са ситниш.
Дакле, са $ 0.17, ми ћемо петља док можемо више не дају ни динара, што је
тачно једном.
А онда ћемо остати са 7 центи.
>> Онда ћемо наставити на Ницкелс, који ће петља док ми не може дати
било више центи, што ће оставите нас са два цента.
А онда, доле на дну, имамо новчића, који ће петља и воља
коначно нас оставити са нула центи.
Онда на крају, ми само треба да принт наш број кованица.
>> Дакле, овај програм је савршено тачно.
Али, можемо да урадимо нешто боље.
Сада, ако ја кажем да сам ти дугујем $ 10,000, не би требало да иде ево један
квартал, два квартала, три четвртине.
Требало би одмах да знате да Дугујем ти 40.000 четвртине.
>> Сада хајде да погледамо програм који ручке га мало боље.
У овој верзији ствари, ми и даље треба да пита корисника за износ
промените да они желе у тачно исти начин на који смо раније радили.
Морамо да га заокружити тачно начин на који смо раније радили.
А ми још увек имамо новца цео број прогласио исто као и пре.
>> Дакле, овде је место где се ствари добити мало другачије.
Радимо новца плус екуалс центи подељене по кварталима
где је четвртина 25.
Шта ово говори јест, узети као многи четвртине, као да иду у центи и додати
то кованица.
>> Дакле, ако је 142 центи, 142 подељено за 25 нам даје 5.
Запамтите да цео поделу Скраћује се аутоматски.
Дакле, ми радимо новца, плус износи 5.
>> Одмах после овога, говоримо центи једнаке центи мод четвртфинала.
Запамтите да мод оператер даје нама остатак након поделе.
Дакле, 142 мод квартал, који ће дати је 142 минус 125, што је за 17.
То је остатак после ради 142 подељену 25.
>> Дакле, сада центи једнака 17.
И ми радимо исто тачан ствар за ситниш.
17 подељено са 10 ће нам дати 1.
И ми додати то да кованица.
И онда смо ажурирали центи на бити 17 мод 10, што је 7.
>> А онда исто за новчиће.
7 подељен 5. је 1.
Додај то кованица.
А онда 7 мод 5 је 2.
И то је наша центи.
>> А онда, за пенија, не постоји прави тачка у расподели или Моддинг, јер,
ако имамо $ 0.2 преостао, можемо Само одмах додати да се
наш број кованица.
И на крају, морамо да одштампате наш број новца и, опционо,
ретурн 0 на крају нашег програма да означи све радили.
>> Моје име је Роб.
И то је био похлепан.
>> [Музика свира]