[MUSIC پخش] ROB BOWDEN: سلام. I راب هستم. و اجازه دهید حریص. پس اولین کاری که ما باید انجام دهیم است از کاربر دقیقا چه تغییر زیادی بدهکار است. بنابراین در اینجا، ما می بینیم ما آیا / در حالی که حلقه. و ما در حال تنظیم دلار به GetFloat برابر است. GetFloat چیست؟ این یکی از توابع در است کتابخانه CS50 که می شود شناور از کاربر. به یاد داشته باشید، به منظور استفاده از آن تابع، ما نیاز به هش عبارتند از CS50.h در بالای صفحه. پس یک بار ما باید آن مقدار از کاربر، ما نیز باید مطمئن شوید که آن یک مقدار معتبر است. ما می توانیم پول منفی بدهکار نیست. و به طوری که هدف است از این کارها / در حالی که حلقه. ما همچنان به حلقه است در حالی که دلار کمتر از صفر است. و آیا / در حالی که حلقه درست برای استفاده از اینجا، از آنجایی که ما نیاز به درخواست کاربر حداقل یک بار برای چه پول زیادی بدهکار است. پس یک بار ما این تعداد از دلار، ما در اینجا مشاهده کنید ما سنت هوشمند دور برابر دلار بار CENTS_PER_DOLLAR. در بالای صفحه، ما می بینیم که CENTS_PER_DOLLAR است معقول به عنوان 100 تعریف شده است. بنابراین آنچه که این خط انجام می دهند؟ خوب، اگر شما به یاد داشته باشید، نقطه شناور ارزش ها کاملا دقیق نیست. بر خلاف اعداد صحیح، ما نمی توانیم نشان مقادیر ممیز شناور دقیقا. همیشه به نوعی وجود دارد از عدم دقت. بنابراین ما ترجیح می دهند به کار فقط با اعداد صحیح در سراسر این مشکل است. و در اینجا، در صورتی که کاربر وارد 3.42 $، ما در حال تبدیل که به 342 سنت و گرد کردن، فقط به خلاص شدن از شر هر که عدم دقت. پس یک بار ما تعداد سنت در یک عدد صحیح، ما می توانیم با ادامه بقیه برنامه. ما در اینجا می بینیم که ما در حال اعلام عدد صحیح سکه های که ما تنها به استفاده از برای پیگیری از کل تعداد سکه ها. در اینجا، ما باید اولین حلقه در حالی که ما. ما می بینیم در حالی که سنت بزرگتر از یا است به سه ماهه، که در بالا، مخلوط برابر است با تعریف شده به عنوان 25، در حالی که درست است، ما می خواهید برای افزایش تعداد ما از سکه ها و سنت کاهش های سه ماهه. به یاد داشته باشید که این نحو معادل سنت است سنت منهای چهارم برابر است. این همان است. پس چه شده است این حلقه در حالی که انجام؟ ایده این است که، اگر من می دانم $ 3.42 بدهکار است، من می توانم ادامه دادن چهارم تا زمانی که من می تواند به چهارم هر بیشتر. من نمی توانم چهارم را هر بیشتر، یک بار I $ 3.25 داده ام. بنابراین پس از آن، یک بار که مورد، ما شکستن این حلقه. سنت خواهد شد در 17 سنت باقی مانده است. و ما را به آینده ادامه در حالی که حلقه که در آن ما می گویند، در حالی که سنت بزرگتر یا سکه برابر است. و در حال حاضر ما در حال انجام دقیقا همان چیزی که ما در مورد سه ماهه بود، به جز با dimes. بنابراین با $ 0.17، ما حلقه تا زمانی که ما می توانیم دیگر را یک سکه، که دقیقا یک بار. و سپس ما را با 7 سنت را ترک کرد. سپس ما به نیکل ادامه، که حلقه تا زمانی که ما نمی توانیم هر نیکل، که خواهد شد با دو سنت ما را ترک کنند. و سپس، پایین پایین، ما سکه، خواهد شد که حلقه و خواهد شد در نهایت ما را با صفر سنت را ترک کنند. سپس در پایان، ما فقط نیاز به نسخه قابل چاپ کردن تعداد ما از سکه ها. بنابراین این برنامه کاملا درست است. اما ما در واقع می توانید انجام دهید کمی بهتر است. حال اگر من می گویم که من به شما بدهکار 10،000 دلار، شما لازم نیست برای رفتن اینجا رو سه ماهه، دو چهارم، سه چهارم. شما باید فورا می دانیم که من به شما بدهکار 40000 چهارم. حالا اجازه دهید در یک برنامه نگاه که آن دسته کمی بهتر است. در این نسخه از چیزها، ما هنوز نیاز به درخواست کاربر برای مقدار تغییر که آنها دقیقا می خواهید همان راهی است که ما قبل از انجام. ما باید آن را دور دقیقا راه ما قبل از انجام. و ما هنوز سکه های ما عدد صحیح اعلام کرد دقیقا مانند قبل. بنابراین در اینجا که در آن همه چیز یک کمی متفاوت است. ما در حال انجام سکه به علاوه برابر سنت تقسیم بر سه ماهه که در آن سه ماهه 25 است. چه این گفته است، به عنوان بسیاری از چهارم به عنوان می تواند به سنت بروید و اضافه کردن که به سکه ها. بنابراین اگر سنت 142 است، 142 تقسیم 25 به ما می دهد 5. به یاد داشته باشید که تقسیم عدد صحیح به طور خودکار truncates. بنابراین ما در حال انجام سکه به علاوه معادل 5. بلافاصله پس از این، ما در حال گفت: سنت سنت در برابر سه ماهه وزارت دفاع. به یاد داشته باشید که اپراتور وزارت دفاع می دهد ما باقی مانده پس از تقسیم. پس 142 در سه ماهه وزارت دفاع، که خواهد داد 142 منهای 125، که 17 است. که باقی مانده پس از این انجام 142 تقسیم بر 25. بنابراین در حال حاضر سنت تا 17 برابر است. و ما دقیقا همان چیزی که برای dimes. 17 تقسیم بر 10 به ما 1 را. و ما اضافه کنید که به سکه ها. و بعد ما سنت برای به روز رسانی است 17 وزارت دفاع 10، که 7. و سپس همین کار را برای نیکل. 7 تقسیم بر 5 1 است. اضافه کردن که به سکه ها. و پس از آن 7 وزارت دفاع 5 2 است. و این سنت ماست. و پس از آن، برای سکه چیزی ندید، هیچ واقعی وجود دارد نقطه در تقسیم و یا دستکاری، از آن زمان، اگر ما $ 0.2 بیش از چپ، ما می توانیم فقط فورا اضافه کنم که به تعداد ما از سکه ها. و در نهایت، ما نیاز به نسخه قابل چاپ کردن ما تعداد سکه ها و، اختیاری، بازگشت 0 در پایان برنامه های ما به معنی همه چیز کار می کرد. نام من راب است. و این حریص بود. [MUSIC پخش]