SPEAKER 1: Beszéljünk a víz. Ebben a problémát, kérje meg a felhasználót, hogy elmondja nekünk meddig percben a zuhany volt majd kiszámítjuk az egyenértékű számú palack víz hogy a zuhany használni. Tehát mi a mi to-do erre a problémára? Először megyünk akar hogy jelezzen, majd érvényesítse A bemeneti, hogy a felhasználó megadja nekünk. Amint arról, hogy mi érvényes felhasználói bemenet, megyünk kiszámításához azonos számú palack víz hogy a felhasználónak kellett közben a zuhany, és akkor nem vagyunk Elmondod nekik kinyomtatásával ezt a számot. Tehát lássuk elleni első feladat, kéri és érvényesítése a felhasználói beviteli. Erre írtunk egy funkció hívott get_int található a CS50 Könyvtár. get_int biztosítja, hogy a felhasználó bemenetek egy egész, tehát minden pozitív szám, negatív számok, vagy nulla egyaránt elfogadhatók. De ha a felhasználó bemenetek mást, így bármilyen kombinációja betűk és számok vagy egész szám, akkor a felhasználói program kérni fogja újra és ez a funkció nem fogad el semmit amíg a felhasználó ad nekik egy egész szám. Szóval hogyan használjuk get_int? Ha megnyitja a munkaterület és hozz létre egy filet integer.c nézzük írja be a következő. Hashtag közé cs50.h. Ez azért szükséges, mert get_int egy CS50 könyvtár funkciója, ezért kell tartalmaznia hashtag nyilatkozatát annak érdekében, A funkció használatához. És akkor a fő működni Csak megyek egyszerűen hívja a funkciót get_int. Tehát fussunk ez, és hogyan működik. Már össze is, úgyhogy csak megy előre, és futtatni ezt a programot, ./egész szám. Itt van egy gyors és itt van, ahol én bemenet értéke. Mondjuk én hozott néhány egész, 50, a program kivételektől eltekintve és kilép és ennyi. De mondom, futtassa újra és I bemenet valami mást. Talán, hello world. Ez nem egy egész, így a program kérni, hogy újra. Próbáljuk meg újra talán egy tizedes ebben az időben. 0,5, megint, nem egész szám, így A program nem fogja elfogadni és megmondja, hogy újra. Tehát lássuk, hogy ez egy másik számot. A program fogadja el, kilép, és kész is vagyunk. Tehát most van egy funkció amely lehetővé teszi számunkra, és biztosítja hogy a felhasználó által bevitt egy egész, de hogyan ténylegesen nyomon követheti a integer a felhasználó által bevitt? Nos, mi nem az üzlet ezt az értéket a változó, mondjuk n. Tehát, ha kijelentem, n egész, és én meg azt az értéket, get_int, akkor n majd tárolni bármilyen értékelik a felhasználó megadva. Rendben, most már arról, hogy a felhasználó ad nekünk egy egész és tudjuk, hogyan kell nyomon követni Az egész, de ne felejtsük el, egészek mind pozitív, mind negatív. Tehát ez nem igazán van értelme összefüggésben ezt a problémát hogy a felhasználó vesz egy zuhanyzó mondjuk negatív 12 perc. Tehát meg kell győződnünk arról, hogy a felhasználó valóban ad nekünk egy pozitív egész szám. Most nincs csak egy egyfunkciós arra, így megyünk, hogy létre, hogy a magunk. Ezért szeretnénk, hogy folyamatosan figyelmezteti a felhasználót amíg adnak nekünk egy pozitív egész szám. Ha csinálok valamit folyamatosan, majd ez hasonló egy hurok, egy ismétlés. Tehát az egyik konstrukciók, hogy használjuk ac végrehajtására ismétlés és hurkok egy while ciklus. Tehát egy while ciklus, mint itt látható, végrehajtja bármi is van a szervezetben a hurok amíg az adott állapot értékeli az igaz. Amint ez a feltétel értéke hamis, akkor A program folytatódik, hogy bármilyen után jön a hurok teste. Tehát míg a hurkokat fognak igazán hasznos CS50. De ebben a konkrét esetben tudjuk, hogy mi vagyunk majd figyelmezteti a felhasználót, legalább egyszer, és akkor is csak hurok, ha szükséges. Tehát itt jön a speciális konstrukció, és ez az nagyon hasonló a miközben hurok úgynevezett do-while ciklus. Tehát a do-while ciklus végrehajtja a a hurok teste legalább egyszer majd ellenőrzi, hogy hogy célszerű végrehajtani, szemben az egy darabig hurok, amely ellenőrzi az állapotát majd végrehajtja a szervezetben. Tehát a do-while ciklus, amit talán tennie, kéri a felhasználó egy egész, majd ellenőrizze, ha érvénytelen vagy nincs. Ha ez érvénytelen, aztán ismételje meg a folyamatot kéri a felhasználót hogy nekünk egy egész, majd Csak ha ez egész érvényes, mi továbbra is bármilyen jön utána. Most akkor veszi észre, hogy a nyilatkozat az egész n kissé más, mint amit előtt tette az előző példában és ez azért van, mert a hatálya alá. Ha már bejelentett n egész szám belülről A test a do-while ciklus, akkor nem lenne képes elérni hogy n értékét azokon kívül göndör melles jelző hurok teste. De mi valójában akarja érni a n értéke később a programban. OK, így most beszéljünk mi ez a feltétel legyen. Azt akarjuk, hogy csak reprompt a felhasználói amíg N érvénytelen. Tehát azt gondolja, amit egy érvénytelen egész érték nézne majd hozzon létre egy logikai kifejezése fejezni. Már majdnem kész a részfeladat Célravezető és ellenőrzi a felhasználói input. Szóval, hogy ez egy kicsit kicsit több felhasználóbarát és hogy a felhasználó egy kis kicsit több információ Az, amit mi kéri őket. Tehát lássuk figyelmezteti a felhasználót, egy a spec, a húr perc. Így használja a printf kimutatásaiban arról, hogy megfelel ennek pontosan. Rendben. Tehát most van egy érvényes felhasználói bemenet, egy pozitív egész szám érték hány percig töltött a zuhany. Mi a következő kiszámolása a megfelelő számú palackok. Mit fogunk csinálni itt talán nagyon nyilvánvaló, hogy Ön az első, és ez rendben. Amit akarok, hogy mi szeretné kezdeni a gyakorlást az elképzelést, felderítése minták és fejlődő képletek a problémát. Tehát azt mondták per spec ez az egy perc a zuhany egyenértékű körülbelül 12 palack vizet. Így aztán két percig tartanak egyenértékű a 24, és öt percig tartanak egyenértékű a 60. Tehát most, ha úgy gondolja, már megvan, akkor menjünk hátha akkor jön ki egy minta vagy formula kifejezni, ha már azt mondják, n perc, hány üveg víz lenne, hogy lehet kifejezni n? Ismét, bár ez a Lehet, hogy egyszerű, első, később, amikor eljutunk bonyolultabb problémák megyünk szeretne bejutni a gyakorlatban a azonosítására minták és a fejlődő képletek kitalálni ezeket a dolgokat. Ezen c van hozzáférése aritmetikai műveletek, összeadás, kivonás, szorzás, osztás. Úgyhogy hagyjuk, hogy Ön most kitalálni hogyan kell kifejezni az megfelelő számú palackok hogy a felhasználói elfogyasztott során zuhany. Rendben, már majdnem készen vagyunk. Már kéri a felhasználótól a bemenet, már arról, hogy ez érvényes bemenet, és akkor kitaláltam, hogy hogyan kiszámításához az egyenértékű palackok számát, hogy fogyasztott. Tehát az utolsó dolog, amit tehetünk, hogy kimenet a megfelelő számú palackok és remélhetőleg ösztönözni ezek megőrzésére egy kis vizet. Kibocsátja az érték egy printf. Ha azt akartam mondani, hogy én három háziállat, például, Lehet használni a printf hogy így néz ki. Van három háziállat, és egy új sor szép formázás. Most nem akar egyszerűen nehéz kód dolgokat. Mondja ki a számot az én háziállat változik az idő múlásával. Akkor fogok élni helyőrzők én printf. Tehát itt az én szám egész. Így fogok tenni egy helykitöltő egész számára a% i. Megyek, hogy írjon a húr, majd miután a húr Írok egy vessző, majd a változó, hogy szeretnék kinyomtatni. Tehát ez az érték kerül nyomtatásra helyett, hogy helyőrzővel% i. Használhatja helyőrzők, mint Nos, úszók a% f. Azt is, hogy több helyőrzők a szövegben. Például, ha van néhány szám A kutyák és néhány macskák száma, Tettem két helyőrzők ide, majd én két változó megfelelő sorrendben. Most, hogy tudjuk, hogyan kell nyomtatni A tárolt értékeket változó, Az utolsó dolog, hogy tennie, hogy biztosítsa, hogy kiírja a pontos méret feltüntetett. Azzal, hogy már kéri a felhasználó és hitelesítették a bemenet. Már akkor számítani az egyenértékű számú palack víz hogy az általuk fogyasztott során zuhanyzó, és mi már outputted, amely érték a számukra. És így, hogy már elvégeztük a víz. A nevem [? Zamila,?] és ez a CS50.