[Musiqi ifa] ZAMYLA Chan: Siz daha çox alacaq 10 milyon dollar indi və ya qəbul pennies ayın hər gün, harada hər sonrakı gün aldığınız siz pennies məbləği iki dəfə bir gün əvvəl qəbul? Pennies, biz olacaq sübut niyə olmalıdır mütləq pennies edir. - Pennies.c-Sizin iş yazmaqdır İlk necə istifadəçi soruşur ki, bir proqram bir çox gün ay və sonra istifadəçi neçə pennies soruşur ilk günü alacaq. Proqram sonra hesablamaq lazımdır istifadəçi var ki, məbləğ ki, sonunda yığılmış ay və görüntüler. Biz bu proqram qıra bilər vəzifələri bir neçə daxil. Biz təklif lazımdır birdən çox istifadəçi giriş - gün və ay və pennies ilk günü. Biz track saxlamaq lazımdır nə qədər pul istifadəçi hər var və bu yeniləmə gün, məbləği iki dəfə aldıqları ki, pennies. Və nəhayət, biz çap onların dollar final məlumat. Ilk həll istifadəçi daxil edək. Mən apples.c açmaq üçün gidiyorum məşğul olan qısa proqramı giriş və nəticələri ilə. Burada başında, mən bir daxil etdik - Mən lazımdır ki, kitabxana CS50 kitabxana və standart I / O kitabxana. Mən istifadə edərək tez çap olan printf funksiyası standart I / O kitabxana. Lakin istifadəçi isteyen faktiki Bu növbəti xətt olur Ki, CS50 kitabxana GetInt fəaliyyət göstərir. GetInt istifadəçi giriş və əldə daxil bir tam olmasını təmin edir. Beləliklə, mən tam daxil istifadəçi girişi saxlamaq Mən 1 çıxmaq, sonra Mən yeni dəyər çap. Istifadə apples.c tərtib sonra command "alma edir," Mən var faylı alma. Mən giriş 1, ki, lazımdır Running. Bu proqram mənə deyir ki, I tərk 0 alma var. Və belə gözlənildiyi kimi fəaliyyət göstərib. Elə yenidən run edək mənfi və giriş 1. İndi alma mənfi məbləğ olan həqiqətən mənada deyil, mənfi, çünki proqram, qəbul 1, yaxşı, bu tam deyil. İndi isə proqram və ya canavar Proqramın mənfi yeyir daxilində alma, indi mən mənfi 2 alma. HM, belə ki, bir dərs var - hətta GetInt funksiyası və əlaqədar GetFlow kimi funksiyaları, və ya Almaq hüququ data type GetString, siz daxil edir ki, əmin etmək lazımdır Proqram üçün mənada. Pennies bu, sadəcə tez etməyəcək bir tamsayı üçün, etmək lazımdır əmin istifadəçi giriş bir tamsayı ki, ki, nəzərə alsaq hissi verir. Ay, yalnız 28 ola bilər 29, 30, ya 31 gün. Biz daimi tələb etmək istəyirəm cari bir tam. Onlar input bizim bir tam kənarda varsa, qəbul həddi, biz onlara təklif edəcəyik təkrar, qədər bizə etibarlı tam verir. Və "qədər təkrar" Xatırladaq Not ci məhəllə? Siz oxşar tikinti edə bilər C a "isə" loop istifadə edərək, və ya "do-isə" loop. Bu isə loop strukturu şəraitinə malikdir üçün təmin edilməlidir ki, icra etmək loop orqanı. Bu, bir az oxşar olmalıdır vəziyyəti yalnız kimi, çünki Açılar ilə danışıq blokları və Mötərizədə gider də "isə" loop. Belə ki, vəziyyəti yoxlamaq olacaq ki, tam ərzində müvafiq həddi. Siz tam istifadə GetInt isteyebilirsiniz və sonra "isə" execute loop, təkrar tez və çap təlimatlar, isə giriş etibarlı deyil. Doğru istifadəçi girişi təmin etmək üçün başqa bir yolu , bir "do-isə" loop istifadə edir bir halda loop çox oxşardır. Bu "do-isə" loop kodu icra bədən olanları və sonra çek daxilində şərti görüşüb və ya olub-olmadığını. Bu istifadəçi girişi əldə etmək üçün faydalıdır sizə lazım bilirik ki, çünki ən azı bir dəfə onlara təklif edir. Şərti görüşüb deyilsə, proqramı sonra line icra edəcək Sizin "do-isə" loop. Şərti olsa görüşüb varsa, loop təkrar Istifadəçi doğrulama üçün "do-isə" loop input bu kimi bir şey görünür. Mən dəyişən n, GetInt bəyan və n etibarlıdır qədər təkrar edin. Və bu proses, mən izah istifadə edirdi ki, tam-veri növü, hansı Siz ayın gün istifadə edəcəyik. Amma biz bilirik ki, pennies sayı üçün, belə ki, tez qalamaq edəcək böyük nömrələri saxlamaq, məlumat növü istifadə LongLong, eyni xatırlayıram qiymətləndirmə prinsipi tətbiq edilir. Awesome, belə ki, bir dəfə biz iki etibarlı var istifadəçi giriş - ay gün və pennies ilk günü - biz növbəti üzərində hərəkət edə bilər proqram hissəsidir. İlk gün, istifadəçi ilə başlayır onlar göstərilən lakin bir çox pennies və pennies məbləği ki, onlar Növbəti gün qəbul iki dəfə. Belə ki, track saxlamaq üçün anlamlı Bu iki məbləğlərin - istifadəçi var və nə nə qədər pul çox pennies onlar verilir. İndi 28-31 gün üçün bir şey etmənin təkrar, belə üzrə "üçün" istifadə edək the gün ərzində təkrarlamaq üçün loop ay, ümumi və Penny yenilənməsi hər dəfə məbləği. Loop syntax ehtiva "For" Aşağıdakı - bir başlatma bir vəziyyət, və yeniləmə. Sizin "üçün" loop başlamaq edəcək dəyişən, zaman ilk loop olur. Vəziyyəti görüşüb Əgər, bədən ki, loop icra edəcək. Daha sonra yeniləmə icra edəcək. Vəziyyəti hələ də görüşüb edilsə, loop icra və yeniləmə edəcək kimi uzun sizin şərt kimi, təkrar doğru ilə qiymətləndirir. Burada ayıran bir "üçün" loop var 2 10 dəfə cəmi tam p. Mən tam p elan necə edək mənim "üçün" loop xaricində, belə ki, tam əlçatan ola bilər üçün "" loop kənarda. Ay keçdi sonra, bu vaxt istifadəçi demək nə qədər pul onlar kazanılmış etdik. Spec Per, siz istifadəçi demək lazımdır neçə dollar, necə çox pennies, onlar var. Amma indiyə qədər, siz track saxlanılır etdik ümumi və LongLongs istifadə pennies, bütün nömrələri olan var. $ 1 100 pennies, belə olmadığı halda, pennies sayı bir 100 çox sizə lazımdır onluq yerlərinə təmsil edir. Bu iki qatına autotype verir Bunu etmək. Belə ki, necə biz təmsil dan çevirmək yoxdur dollar pennies? Bir nəzər salaq pi.c. Bu proqram LongLong big_pi və edir 100.000 tərəfindən ayırır və yazdıran beş onluq yerlərinə nəticəsidir. Biz dörd decimal keçirmək istəyirdi yerləri, biz yalnız bu əvəz edə bilməz burada nömrəsi. Belə ki, saxlamaq pi tərtib və qoy sonra, nəticə görmək hansı 3,1415 olmasını gözlədiklərini - pi ilk beş rəqəm. Bu baxmayaraq deyil. Və niyə? Yaxşı, big_pi bir LongLong çünki bir neçə, hansı olan qalmayacaq ondalık takip edin. Mən lazım dəyişiklik etmək bölünməsi edir. Mən əvvəl burada ikiqat salmaq lazımdır çiftler davam edə bilməz, çünki ayırıcı onluq yerlərinə takip. Və yeni bir xətt əlavə etmək gidiyorum Burada daha yaxşı formatlama. Və burada biz var - 3,1416. Siz 3.1416 yazdıran bilərsiniz əvəzinə 3,1415 kimi gözlənilir. Zamanı çünki tur var şöbə prosesi yalnız fərqli dəyəri truncating. İndi çap edə olmalıdır başa olan düzgün final cəmi, proqram. Tebrik edirik. My name Zamyla edir. Və bu pennies idi. [Musiqi ifa]