1 00:00:00,000 --> 00:00:00,285 2 00:00:00,285 --> 00:00:03,030 >> DAVID J. MALAN: Aloitetaan kirjallisesti joitakin monimutkaisempia ehtoja. 3 00:00:03,030 --> 00:00:06,530 Erityisesti Kirjoitetaan ohjelma että kysyy käyttäjältä kokonaisluvun, 4 00:00:06,530 --> 00:00:09,460 sanoa, välillä 1 ja 10, ja sen jälkeen tekee vähän analyysiä. 5 00:00:09,460 --> 00:00:14,530 Mutta tällä kertaa raportoinnin onko määrä on pieni tai keskisuuri tai suuri 6 00:00:14,530 --> 00:00:17,480 koko, piirustus nämä tunnustukset melko mielivaltaisesti. 7 00:00:17,480 --> 00:00:21,040 >> Voit tehdä tämän, aion luottaa get int, että toiminto CS50 8 00:00:21,040 --> 00:00:22,860 kirjasto, joka tekee juuri niin. 9 00:00:22,860 --> 00:00:24,350 Ja olen myös menossa vipuvaikutus tulosta f. 10 00:00:24,350 --> 00:00:28,530 Joten aion päästä alkuun sisällyttämällä cs50.h kuin 11 00:00:28,530 --> 00:00:31,880 sekä standardi io.h. 12 00:00:31,880 --> 00:00:36,460 >> Ja menee sitten julistaa main vuonna tavalliseen tapaan, int main void, avoin kihara 13 00:00:36,460 --> 00:00:38,440 ahdin, lähellä kihara ahdin. 14 00:00:38,440 --> 00:00:41,240 Ja olen sitten menossa kysymään käyttäjältä kokonaisluku. 15 00:00:41,240 --> 00:00:48,340 Tulosta f, antakaa minulle int 1 ja 10. 16 00:00:48,340 --> 00:00:52,640 >> Nyt takaisin että int julistamalla muuttuja nimeltä vaikkapa n ja määrittämällä 17 00:00:52,640 --> 00:00:55,520 se palauttaa arvon get int. 18 00:00:55,520 --> 00:00:57,300 Katsotaanpa nyt tehdä vähän analyysiä. 19 00:00:57,300 --> 00:01:04,500 >> Jos n on suurempi tai yhtä suuri kuin 0 ja n on pienempi kuin tai yhtä suuri kuin, esimerkiksi, 3, 20 00:01:04,500 --> 00:01:12,560 Sitten aiomme mennä eteenpäin ja tulostaa ulos nostit pieni int. 21 00:01:12,560 --> 00:01:15,730 >> Else, jos käyttäjä poimii vaikkapa keskisuurten arvo, katsotaanpa 22 00:01:15,730 --> 00:01:16,960 tarkista, että seuraavat. 23 00:01:16,960 --> 00:01:23,360 Muuten, jos n on suurempi tai yhtä suuri kuin, sanoa, 4 ja n on pienempi tai yhtä suuri kuin, 24 00:01:23,360 --> 00:01:31,850 vaikkapa 7, niin aion tulostaa ulos nostit keskipitkällä int. 25 00:01:31,850 --> 00:01:36,490 >> Lopuksi aion olettaa, että jos -arvo on välillä 8 ja 10, ne 26 00:01:36,490 --> 00:01:37,550 poimitaan suuri int. 27 00:01:37,550 --> 00:01:44,140 Niin ilmaista, että minä kirjoita, if n on suurempi tai yhtä suuri kuin 8 ja n 28 00:01:44,140 --> 00:01:53,590 on pienempi tai yhtä suuri kuin 10, mennä eteenpäin ja tulostaa nostit suuri int. 29 00:01:53,590 --> 00:01:55,720 >> Muuta, tulee neljäs edellytys täällä. 30 00:01:55,720 --> 00:01:59,520 Jos käyttäjä ei tehnyt yhteistyötä ja sen sijaan kirjoitetaan arvo, joka on vähemmän kuin 31 00:01:59,520 --> 00:02:04,430 0 tai suurempi kuin 10, haluan yksinkertaisesti nuhteet niitä. 32 00:02:04,430 --> 00:02:12,490 Else tulostaa, nostit virheellinen int. 33 00:02:12,490 --> 00:02:13,950 >> Säästetään tiedoston. 34 00:02:13,950 --> 00:02:17,580 Kääntää sen kanssa tehdä ei-kytkin. 35 00:02:17,580 --> 00:02:21,650 Takaisin minun kuiskata, aion juosta se piste slash ei-kytkimellä. 36 00:02:21,650 --> 00:02:23,320 Ja Kokeillaan muutaman arvoja. 37 00:02:23,320 --> 00:02:26,110 >> Ensimmäinen, olkaamme yhteistyöhaluinen ja kirjoita negatiivinen 1. 38 00:02:26,110 --> 00:02:30,970 Onneksi se on havaitsemasta lopullinen sivuliikkeen siinä kunnossa. 39 00:02:30,970 --> 00:02:36,530 Yritetään uudestaan ​​pisteellä slash ei-kytkin, tällä kertaa antaa sille 1. 40 00:02:36,530 --> 00:02:37,900 Olen todellakin kyytiin pieni int. 41 00:02:37,900 --> 00:02:43,250 >> Tehdään se uudelleen dot slash ei-kytkin, tällä kertaa poiminta, esimerkiksi 5. 42 00:02:43,250 --> 00:02:44,590 Ja se on keskipitkällä int. 43 00:02:44,590 --> 00:02:48,200 Katsotaanpa nyt en taas piste slash ei-kytkimellä. 44 00:02:48,200 --> 00:02:52,650 Ja antaa sille arvoa 10, joka on todellakin suuri int. 45 00:02:52,650 --> 00:02:55,310 >> Nyt on syytä huomata, että tämä ohjelma olisi voitu toteuttaa 46 00:02:55,310 --> 00:02:56,840 kuinka monella tavalla tahansa. 47 00:02:56,840 --> 00:03:00,160 Ensinnäkin, se oli täysin mielivaltaista, että piirsin linjat että olen 48 00:03:00,160 --> 00:03:03,290 tein, pieni, keskikokoinen, ja suuret ints. 49 00:03:03,290 --> 00:03:05,230 Olisimme saaneet nämä rajoja missään. 50 00:03:05,230 --> 00:03:08,930 >> Mutta enemmän kiinnostavaa, minulla ei ollut ilmaista itseäni kaikki nämä 51 00:03:08,930 --> 00:03:13,440 on suurempi tai yhtä suuri tai pienempi tai yhtä suuri kuin merkkejä. 52 00:03:13,440 --> 00:03:18,880 Olisin voinut esimerkiksi kirjoittaa uudelleen, jos n on suurempi tai yhtä suuri kuin 4, ja 53 00:03:18,880 --> 00:03:24,760 n on pienempi tai yhtä suuri kuin 7, koska sen sijaan, jos n on suurempi kuin 3 ja n 54 00:03:24,760 --> 00:03:29,130 on alle 8, sitten tulostaa nostit keskipitkällä int. 55 00:03:29,130 --> 00:03:33,360 >> Loppujen lopuksi, jos käyttäjän syötteen, jonka luonne get int, on kokonaisluku, me 56 00:03:33,360 --> 00:03:37,580 voi joko testi, jos tämä arvo on suurempi kuin 3 tai suurempi tai 57 00:03:37,580 --> 00:03:38,740 vastaa 4. 58 00:03:38,740 --> 00:03:43,130 Ja voisimme myös tarkistettava jos tuo arvo on alle 8 tai vähemmän 59 00:03:43,130 --> 00:03:44,590 tai yhtä suuri kuin 7. 60 00:03:44,590 --> 00:03:45,860