1 00:00:00,000 --> 00:00:00,493 2 00:00:00,493 --> 00:00:09,860 >> [Musiqi ifa] 3 00:00:09,860 --> 00:00:13,520 >> ZAMYLA Chan: Siz daha çox alacaq 10 milyon dollar indi və ya qəbul 4 00:00:13,520 --> 00:00:17,460 pennies ayın hər gün, harada hər sonrakı gün aldığınız 5 00:00:17,460 --> 00:00:21,280 siz pennies məbləği iki dəfə bir gün əvvəl qəbul? 6 00:00:21,280 --> 00:00:24,010 Pennies, biz olacaq sübut niyə olmalıdır 7 00:00:24,010 --> 00:00:27,000 mütləq pennies edir. 8 00:00:27,000 --> 00:00:29,130 - Pennies.c-Sizin iş yazmaqdır 9 00:00:29,130 --> 00:00:33,330 İlk necə istifadəçi soruşur ki, bir proqram bir çox gün ay və 10 00:00:33,330 --> 00:00:38,780 sonra istifadəçi neçə pennies soruşur ilk günü alacaq. 11 00:00:38,780 --> 00:00:41,780 Proqram sonra hesablamaq lazımdır istifadəçi var ki, məbləğ 12 00:00:41,780 --> 00:00:46,530 ki, sonunda yığılmış ay və görüntüler. 13 00:00:46,530 --> 00:00:49,670 >> Biz bu proqram qıra bilər vəzifələri bir neçə daxil. 14 00:00:49,670 --> 00:00:52,830 Biz təklif lazımdır birdən çox istifadəçi giriş - 15 00:00:52,830 --> 00:00:55,510 gün və ay və pennies ilk günü. 16 00:00:55,510 --> 00:00:59,390 Biz track saxlamaq lazımdır nə qədər pul istifadəçi hər var və bu yeniləmə 17 00:00:59,390 --> 00:01:03,060 gün, məbləği iki dəfə aldıqları ki, pennies. 18 00:01:03,060 --> 00:01:06,710 Və nəhayət, biz çap onların dollar final məlumat. 19 00:01:06,710 --> 00:01:08,570 >> Ilk həll istifadəçi daxil edək. 20 00:01:08,570 --> 00:01:11,560 Mən apples.c açmaq üçün gidiyorum məşğul olan qısa proqramı 21 00:01:11,560 --> 00:01:13,840 giriş və nəticələri ilə. 22 00:01:13,840 --> 00:01:17,310 Burada başında, mən bir daxil etdik - Mən lazımdır ki, kitabxana 23 00:01:17,310 --> 00:01:20,450 CS50 kitabxana və standart I / O kitabxana. 24 00:01:20,450 --> 00:01:24,310 Mən istifadə edərək tez çap olan printf funksiyası 25 00:01:24,310 --> 00:01:25,660 standart I / O kitabxana. 26 00:01:25,660 --> 00:01:29,740 Lakin istifadəçi isteyen faktiki Bu növbəti xətt olur 27 00:01:29,740 --> 00:01:33,650 Ki, CS50 kitabxana GetInt fəaliyyət göstərir. 28 00:01:33,650 --> 00:01:38,300 >> GetInt istifadəçi giriş və əldə daxil bir tam olmasını təmin edir. 29 00:01:38,300 --> 00:01:45,160 Beləliklə, mən tam daxil istifadəçi girişi saxlamaq Mən 1 çıxmaq, sonra 30 00:01:45,160 --> 00:01:47,610 Mən yeni dəyər çap. 31 00:01:47,610 --> 00:01:53,050 Istifadə apples.c tərtib sonra command "alma edir," Mən var 32 00:01:53,050 --> 00:01:55,770 faylı alma. 33 00:01:55,770 --> 00:01:58,760 Mən giriş 1, ki, lazımdır Running. 34 00:01:58,760 --> 00:02:02,600 Bu proqram mənə deyir ki, I tərk 0 alma var. 35 00:02:02,600 --> 00:02:05,480 Və belə gözlənildiyi kimi fəaliyyət göstərib. 36 00:02:05,480 --> 00:02:09,740 >> Elə yenidən run edək mənfi və giriş 1. 37 00:02:09,740 --> 00:02:13,950 İndi alma mənfi məbləğ olan həqiqətən mənada deyil, 38 00:02:13,950 --> 00:02:18,370 mənfi, çünki proqram, qəbul 1, yaxşı, bu tam deyil. 39 00:02:18,370 --> 00:02:22,740 İndi isə proqram və ya canavar Proqramın mənfi yeyir daxilində 40 00:02:22,740 --> 00:02:26,250 alma, indi mən mənfi 2 alma. 41 00:02:26,250 --> 00:02:28,610 HM, belə ki, bir dərs var - 42 00:02:28,610 --> 00:02:32,965 hətta GetInt funksiyası və əlaqədar GetFlow kimi funksiyaları, və ya 43 00:02:32,965 --> 00:02:38,100 Almaq hüququ data type GetString, siz daxil edir ki, əmin etmək lazımdır 44 00:02:38,100 --> 00:02:41,430 Proqram üçün mənada. 45 00:02:41,430 --> 00:02:45,500 >> Pennies bu, sadəcə tez etməyəcək bir tamsayı üçün, etmək lazımdır 46 00:02:45,500 --> 00:02:49,550 əmin istifadəçi giriş bir tamsayı ki, ki, nəzərə alsaq hissi verir. 47 00:02:49,550 --> 00:02:55,690 Ay, yalnız 28 ola bilər 29, 30, ya 31 gün. 48 00:02:55,690 --> 00:02:59,160 Biz daimi tələb etmək istəyirəm cari bir tam. 49 00:02:59,160 --> 00:03:03,240 Onlar input bizim bir tam kənarda varsa, qəbul həddi, biz onlara təklif edəcəyik 50 00:03:03,240 --> 00:03:07,190 təkrar, qədər bizə etibarlı tam verir. 51 00:03:07,190 --> 00:03:10,070 >> Və "qədər təkrar" Xatırladaq Not ci məhəllə? 52 00:03:10,070 --> 00:03:13,070 Siz oxşar tikinti edə bilər C a "isə" loop istifadə edərək, 53 00:03:13,070 --> 00:03:14,830 və ya "do-isə" loop. 54 00:03:14,830 --> 00:03:18,280 Bu isə loop strukturu şəraitinə malikdir üçün təmin edilməlidir ki, 55 00:03:18,280 --> 00:03:20,160 icra etmək loop orqanı. 56 00:03:20,160 --> 00:03:23,080 >> Bu, bir az oxşar olmalıdır vəziyyəti yalnız kimi, çünki 57 00:03:23,080 --> 00:03:25,970 Açılar ilə danışıq blokları və Mötərizədə gider 58 00:03:25,970 --> 00:03:27,950 də "isə" loop. 59 00:03:27,950 --> 00:03:30,600 Belə ki, vəziyyəti yoxlamaq olacaq ki, tam ərzində 60 00:03:30,600 --> 00:03:32,680 müvafiq həddi. 61 00:03:32,680 --> 00:03:36,620 Siz tam istifadə GetInt isteyebilirsiniz və sonra "isə" execute 62 00:03:36,620 --> 00:03:41,030 loop, təkrar tez və çap təlimatlar, isə giriş 63 00:03:41,030 --> 00:03:43,470 etibarlı deyil. 64 00:03:43,470 --> 00:03:47,610 >> Doğru istifadəçi girişi təmin etmək üçün başqa bir yolu , bir "do-isə" loop istifadə edir 65 00:03:47,610 --> 00:03:50,400 bir halda loop çox oxşardır. 66 00:03:50,400 --> 00:03:54,950 Bu "do-isə" loop kodu icra bədən olanları və sonra çek daxilində 67 00:03:54,950 --> 00:03:57,150 şərti görüşüb və ya olub-olmadığını. 68 00:03:57,150 --> 00:04:00,590 Bu istifadəçi girişi əldə etmək üçün faydalıdır sizə lazım bilirik ki, çünki 69 00:04:00,590 --> 00:04:02,980 ən azı bir dəfə onlara təklif edir. 70 00:04:02,980 --> 00:04:07,200 Şərti görüşüb deyilsə, proqramı sonra line icra edəcək 71 00:04:07,200 --> 00:04:08,530 Sizin "do-isə" loop. 72 00:04:08,530 --> 00:04:13,230 Şərti olsa görüşüb varsa, loop təkrar 73 00:04:13,230 --> 00:04:17,490 >> Istifadəçi doğrulama üçün "do-isə" loop input bu kimi bir şey görünür. 74 00:04:17,490 --> 00:04:24,530 Mən dəyişən n, GetInt bəyan və n etibarlıdır qədər təkrar edin. 75 00:04:24,530 --> 00:04:28,040 Və bu proses, mən izah istifadə edirdi ki, tam-veri növü, hansı 76 00:04:28,040 --> 00:04:29,820 Siz ayın gün istifadə edəcəyik. 77 00:04:29,820 --> 00:04:33,560 Amma biz bilirik ki, pennies sayı üçün, belə ki, tez qalamaq edəcək 78 00:04:33,560 --> 00:04:39,160 böyük nömrələri saxlamaq, məlumat növü istifadə LongLong, eyni xatırlayıram 79 00:04:39,160 --> 00:04:42,590 qiymətləndirmə prinsipi tətbiq edilir. 80 00:04:42,590 --> 00:04:47,070 >> Awesome, belə ki, bir dəfə biz iki etibarlı var istifadəçi giriş - 81 00:04:47,070 --> 00:04:49,530 ay gün və pennies ilk günü - 82 00:04:49,530 --> 00:04:52,870 biz növbəti üzərində hərəkət edə bilər proqram hissəsidir. 83 00:04:52,870 --> 00:04:56,680 İlk gün, istifadəçi ilə başlayır onlar göstərilən lakin bir çox pennies 84 00:04:56,680 --> 00:05:00,370 və pennies məbləği ki, onlar Növbəti gün qəbul iki dəfə. 85 00:05:00,370 --> 00:05:03,130 Belə ki, track saxlamaq üçün anlamlı Bu iki məbləğlərin - 86 00:05:03,130 --> 00:05:08,890 istifadəçi var və nə nə qədər pul çox pennies onlar verilir. 87 00:05:08,890 --> 00:05:13,760 >> İndi 28-31 gün üçün bir şey etmənin təkrar, belə üzrə "üçün" istifadə edək 88 00:05:13,760 --> 00:05:18,220 the gün ərzində təkrarlamaq üçün loop ay, ümumi və Penny yenilənməsi 89 00:05:18,220 --> 00:05:21,010 hər dəfə məbləği. 90 00:05:21,010 --> 00:05:23,550 Loop syntax ehtiva "For" Aşağıdakı - 91 00:05:23,550 --> 00:05:27,510 bir başlatma bir vəziyyət, və yeniləmə. 92 00:05:27,510 --> 00:05:29,590 Sizin "üçün" loop başlamaq edəcək dəyişən, zaman 93 00:05:29,590 --> 00:05:31,380 ilk loop olur. 94 00:05:31,380 --> 00:05:34,860 Vəziyyəti görüşüb Əgər, bədən ki, loop icra edəcək. 95 00:05:34,860 --> 00:05:36,860 Daha sonra yeniləmə icra edəcək. 96 00:05:36,860 --> 00:05:40,900 Vəziyyəti hələ də görüşüb edilsə, loop icra və yeniləmə edəcək 97 00:05:40,900 --> 00:05:45,820 kimi uzun sizin şərt kimi, təkrar doğru ilə qiymətləndirir. 98 00:05:45,820 --> 00:05:51,080 >> Burada ayıran bir "üçün" loop var 2 10 dəfə cəmi tam p. 99 00:05:51,080 --> 00:05:55,380 Mən tam p elan necə edək mənim "üçün" loop xaricində, belə ki, 100 00:05:55,380 --> 00:05:59,850 tam əlçatan ola bilər üçün "" loop kənarda. 101 00:05:59,850 --> 00:06:03,620 Ay keçdi sonra, bu vaxt istifadəçi demək nə qədər pul 102 00:06:03,620 --> 00:06:04,790 onlar kazanılmış etdik. 103 00:06:04,790 --> 00:06:08,740 Spec Per, siz istifadəçi demək lazımdır neçə dollar, necə çox 104 00:06:08,740 --> 00:06:10,780 pennies, onlar var. 105 00:06:10,780 --> 00:06:14,620 Amma indiyə qədər, siz track saxlanılır etdik ümumi və LongLongs istifadə pennies, 106 00:06:14,620 --> 00:06:16,640 bütün nömrələri olan var. 107 00:06:16,640 --> 00:06:20,560 >> $ 1 100 pennies, belə olmadığı halda, pennies sayı bir 108 00:06:20,560 --> 00:06:24,860 100 çox sizə lazımdır onluq yerlərinə təmsil edir. 109 00:06:24,860 --> 00:06:28,060 Bu iki qatına autotype verir Bunu etmək. 110 00:06:28,060 --> 00:06:32,790 Belə ki, necə biz təmsil dan çevirmək yoxdur dollar pennies? 111 00:06:32,790 --> 00:06:35,330 >> Bir nəzər salaq pi.c. 112 00:06:35,330 --> 00:06:41,690 Bu proqram LongLong big_pi və edir 100.000 tərəfindən ayırır və yazdıran 113 00:06:41,690 --> 00:06:44,270 beş onluq yerlərinə nəticəsidir. 114 00:06:44,270 --> 00:06:48,560 Biz dörd decimal keçirmək istəyirdi yerləri, biz yalnız bu əvəz edə bilməz 115 00:06:48,560 --> 00:06:49,760 burada nömrəsi. 116 00:06:49,760 --> 00:06:58,370 Belə ki, saxlamaq pi tərtib və qoy sonra, nəticə görmək hansı 117 00:06:58,370 --> 00:07:02,240 3,1415 olmasını gözlədiklərini - 118 00:07:02,240 --> 00:07:04,540 pi ilk beş rəqəm. 119 00:07:04,540 --> 00:07:06,300 >> Bu baxmayaraq deyil. 120 00:07:06,300 --> 00:07:07,390 Və niyə? 121 00:07:07,390 --> 00:07:11,920 Yaxşı, big_pi bir LongLong çünki bir neçə, hansı olan qalmayacaq 122 00:07:11,920 --> 00:07:13,740 ondalık takip edin. 123 00:07:13,740 --> 00:07:16,850 Mən lazım dəyişiklik etmək bölünməsi edir. 124 00:07:16,850 --> 00:07:23,300 Mən əvvəl burada ikiqat salmaq lazımdır çiftler davam edə bilməz, çünki ayırıcı 125 00:07:23,300 --> 00:07:25,260 onluq yerlərinə takip. 126 00:07:25,260 --> 00:07:28,080 Və yeni bir xətt əlavə etmək gidiyorum Burada daha yaxşı formatlama. 127 00:07:28,080 --> 00:07:33,090 128 00:07:33,090 --> 00:07:34,230 >> Və burada biz var - 129 00:07:34,230 --> 00:07:37,660 3,1416. 130 00:07:37,660 --> 00:07:43,520 Siz 3.1416 yazdıran bilərsiniz əvəzinə 3,1415 kimi gözlənilir. 131 00:07:43,520 --> 00:07:47,550 Zamanı çünki tur var şöbə prosesi yalnız fərqli 132 00:07:47,550 --> 00:07:50,490 dəyəri truncating. 133 00:07:50,490 --> 00:07:53,710 İndi çap edə olmalıdır başa olan düzgün final cəmi, 134 00:07:53,710 --> 00:07:54,870 proqram. 135 00:07:54,870 --> 00:07:55,930 >> Tebrik edirik. 136 00:07:55,930 --> 00:07:57,340 My name Zamyla edir. 137 00:07:57,340 --> 00:07:58,720 Və bu pennies idi. 138 00:07:58,720 --> 00:08:05,589 >> [Musiqi ifa]