>> [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]