1 00:00:00,000 --> 00:00:00,580 2 00:00:00,580 --> 00:00:02,950 >> David J. MALAN: Să acum să pună în aplicare o funcție care nu are doar o latură 3 00:00:02,950 --> 00:00:05,920 efect, dar în schimb se întoarce o valoare de retur. 4 00:00:05,920 --> 00:00:09,150 În mod special, să pună în aplicare o funcție numita obține Int pozitiv al cărui 5 00:00:09,150 --> 00:00:11,490 scop în viață este de a face exact acest lucru. 6 00:00:11,490 --> 00:00:14,500 În mod special, aș dori să utilizeze această funcție, după cum urmează - 7 00:00:14,500 --> 00:00:18,770 int N se obține int pozitiv. 8 00:00:18,770 --> 00:00:23,640 Și apoi de imprimare f, datorită pentru procentul i ca o 9 00:00:23,640 --> 00:00:26,490 substituent, virgulă, final. 10 00:00:26,490 --> 00:00:29,030 >> Acum, desigur, pentru a primi pozitiv int nu există încă. 11 00:00:29,030 --> 00:00:33,020 Deci, haideți să promit să-l pună în aplicare de către adăugând la partea de sus a dosarul meu o linie 12 00:00:33,020 --> 00:00:37,110 cum ar fi int ceea ce înseamnă că această funcție va reveni in int - 13 00:00:37,110 --> 00:00:39,110 obține Int pozitiv. 14 00:00:39,110 --> 00:00:43,000 Și să precizeze în mod explicit că aceasta Funcția nu va lua nici o intrare, și 15 00:00:43,000 --> 00:00:45,570 așa că argumentele sale sunt nule. 16 00:00:45,570 --> 00:00:49,500 Să ne acum în partea de jos de dosarul meu, pur și simplu, astfel încât să pot ține principal până sus, 17 00:00:49,500 --> 00:00:52,220 implementa efectiv sau defini această funcție. 18 00:00:52,220 --> 00:00:55,120 >> În primul rând vom începe cu aceeași semnătură, ca să spunem așa - 19 00:00:55,120 --> 00:00:59,140 int obține int gol pozitiv. 20 00:00:59,140 --> 00:01:01,910 Și acum să pună în aplicare obține int pozitiv după cum urmează. 21 00:01:01,910 --> 00:01:05,410 Să declare un int, de asemenea, numit N, dar am putea spune aproape nimic 22 00:01:05,410 --> 00:01:11,360 ne-am dori, procedați în felul următor în timp ce unele condiție este adevărată, și ne vom întoarce la 23 00:01:11,360 --> 00:01:13,030 această condiție într-o clipă. 24 00:01:13,030 --> 00:01:20,800 Imprimare f, vă rugăm să-mi dea un Int pozitiv, și acum hai să folosim Get int de la 25 00:01:20,800 --> 00:01:23,290 biblioteca CS50 a efectiv te că Int. 26 00:01:23,290 --> 00:01:28,210 >> Dar, în starea mea, hai sa facem acest lucru bucla atât timp cât N este mai mică de 1. 27 00:01:28,210 --> 00:01:31,260 Cu alte cuvinte, atât timp cât utilizatorul nu cooperează prin furnizarea de mine 28 00:01:31,260 --> 00:01:36,260 cu o Int pozitiv, lasă-mă să re-promptă el sau ea din nou, și din nou, și din nou 29 00:01:36,260 --> 00:01:37,720 până când el sau ea face. 30 00:01:37,720 --> 00:01:40,360 Dar nu am terminat încă, pentru că la la sfârșitul acestei funcții trebuie să 31 00:01:40,360 --> 00:01:42,210 face de fapt, ceva cu acea intrare. 32 00:01:42,210 --> 00:01:46,710 Și așa că am de gând să merg despre revenirea l cu o linie ca scop retur 33 00:01:46,710 --> 00:01:52,850 punct și virgulă, revenind astfel o reală int principal pentru care a numit această funcție. 34 00:01:52,850 --> 00:01:56,810 Acum este demn de remarcat faptul că, deși obține randamente pozitive în int int, e 35 00:01:56,810 --> 00:02:00,470 cu siguranță bine pentru el să se întoarcă un int pozitiv specific. 36 00:02:00,470 --> 00:02:04,170 Nu este un tip special de date pentru întreg pozitiv în mod special, așa că 37 00:02:04,170 --> 00:02:06,490 pur și simplu utilizați construit în "Int." 38 00:02:06,490 --> 00:02:11,250 >> Acum, înapoi la linie nouă, observați că sunt imprimarea N. Dar, N în această linie 39 00:02:11,250 --> 00:02:13,970 aparține N care este declarată în linie opt. 40 00:02:13,970 --> 00:02:17,840 Deci, se dovedește poti avea absolut variabile identic numit astfel 41 00:02:17,840 --> 00:02:20,250 timp cât acestea există în diferite domenii. 42 00:02:20,250 --> 00:02:24,950 Și reamintească faptul că domeniul de aplicare este definit de acolade care mai îndeaproape 43 00:02:24,950 --> 00:02:27,620 înconjoară variabila care le-ați definit. 44 00:02:27,620 --> 00:02:30,370 >> Acum, haideți să compileze și rula acest program. 45 00:02:30,370 --> 00:02:35,210 Fac funcții 1, punct slash funcții 1. 46 00:02:35,210 --> 00:02:40,040 Să dăm un pozitiv int-cum ar fi 50, și se spune mulțumesc pentru 50. 47 00:02:40,040 --> 00:02:43,180 Între timp, dacă nu cooperează, rularea programului din nou, dându- 48 00:02:43,180 --> 00:02:47,550 0, mă solicită din nou, sau oferindu- negativă 1, am determinat din nou. 49 00:02:47,550 --> 00:02:51,720 Dar dacă nu cooperează-l oferă cu, spun, 50, eu sunt mulțumit pentru 50. 50 00:02:51,720 --> 00:02:54,590