GLAS 1: Razgovarajmo o vodi. U ovom problemu, možemo tražiti od korisnika da kažem nas koliko u nekoliko minuta njihova tuš bio a onda smo izračunati ekvivalent Broj boca vode da se koristi njihov tuš. Zato što su naši do-do-a za ovaj problem? Prvo, mi smo idući u ištanje potaknuti, a zatim provjeriti ulazni koje korisnik nam daje. Nakon što smo osigurali da posjedovati valjane korisničkog unosa, idemo izračunati ekvivalent broj boca vode da je korisnik imao za vrijeme njihov tuš, a onda smo im reći koju ispis taj broj. Tako ćemo se borila naša prva zadatak, što je izazvalo i vrednovanje korisnik ulaz. Za to smo napisan Funkcija za vas zove get_int nalazi u CS50 knjižnici. get_int osigurava da korisnik ulaza cijeli broj, tako da bilo koje pozitivne brojeve, negativni brojevi, ili nula su svi prihvatili. No, ako korisnik unese ništa drugo, tako da bilo koja kombinacija slova i brojeva ili decimalni brojevi, tada je Korisnik će biti zatraženo da ponovno pokušamo a funkcija neće prihvatiti ništa sve dok korisnik ne daje im prirodan broj. Dakle, kako ćemo koristiti get_int? Ako otvorite svoj radni prostor i stvoriti datoteku pod nazivom integer.c neka je upišite sljedeće. Hashtag uključuju cs50.h. To je potrebno jer get_int je cs50 biblioteka funkcija, tako da moramo hashtag uključiti njegova izjava kako upotrijebite funkciju. A onda je u moj glavni funkcionirati Samo ću jednostavno pozovite funkciju get_int. Tako ćemo pokrenuti to i vidjeti kako se to radi. Već sam ga sastavio, pa neka je samo ići naprijed i pokrenuti ovaj program, ./integer. Ovdje imam brz i evo gdje ulazni sam vrijednost. Recimo ja stavio u samo nekim cijeli broj, 50, program izuzev i pročistiti račune i to je to. Ali reći da sam ga ponovo pokrenuti i Unio sam nešto drugo. Možda, Hello World. To nije cijeli broj tako da je Program će me potaknuti da ponovno pokušamo. Pokušajmo ponovno možda decimale ovaj put. 0.5, opet, nije cijeli broj, tako program neće prihvatiti i to će mi reći za ponovni pokušaj. Tako ćemo mu dati drugi broj. Program to prihvati, zatvara, a mi smo učinili. Tako sada imamo funkciju da nas i osigurava omogućuje da korisnik unese broj, ali kako možemo zapravo pratiti broj unesene od strane korisnika? Pa, sve ćemo učiniti je dućan ova vrijednost u varijabli, recimo n. Dakle, ako sam proglasiti prirodni broj N, i ja postaviti tu vrijednost na get_int, onda je n tada će pohraniti sve što vrijednost korisniku unesenu. U redu, tako da sada smo se pobrinuli da korisnik će nam dati prirodni broj a znamo kako pratiti od cijelog broja, ali zapamtite, cijeli brojevi su i pozitivne i negativne. Tako da nema stvarno smisla u kontekstu ovog problema da korisnik ima tuš od reci negativnih 12 minuta. Dakle, moramo biti sigurni da je korisnik zapravo nam daje pozitivni cijeli broj. Sad nemamo samo jedna funkcija za to, tako da ćemo imati napraviti da nama samima. Na taj način želimo stalno dojaviti korisniku dok su nam dati pozitivan cijeli broj. Ako radim nešto stalno onda to je srodan s petljom, ponavljanja. Dakle, jedan od konstrukata koje koristimo uc provoditi ponavljanje i petlje je while petlja. Dakle, dok se petlja, kao što je ovdje prikazano, izvršiti će se ono što je u tijelu petlju sve dok se određeno stanje ocjenjuje da istina. Čim taj uvjet vrijednost false, a zatim Program će se nastaviti na ono dolazi nakon tijelu petlje. Dakle, dok su petlje ide biti jako korisno u CS50. No, u ovaj slučaj, znamo da smo će zatražiti od korisnika najmanje jednom i onda samo petlje ako je to potrebno. Dakle, ovdje smo došli do Posebna konstrukcija i to je Vrlo slično, dok Petlja se zove do-while petlja. Dakle, do-while petlja izvršava Tijelo petlje barem jednom a onda provjerava da li treba izvršiti, za razliku od while petlji koji će provjeriti stanje a zatim izvršiti tijelo. Tako je u do-while petlje što bismo mogli učiniti je tražiti od korisnika cijeli broj, a zatim provjerite je li valjan ili ne. Ako je važeća, mi ćemo ponoviti postupak tražeći od korisnika da nam da još cijeli broj, a zatim samo kada je to broj vrijedi, mi ćemo i dalje ono što dolazi poslije. Sada ćete primijetiti da je izjava prirodnog broja n je malo razlikuje od onoga što smo radio prije u prethodnom primjeru a to je zbog opsega. Da smo proglasili broj N iznutra od tijela do-while petlje, onda ne bismo bili u mogućnosti pristupiti da vrijednost n izvan tih kovrčava aparatić ukazuje tijelo petlje. No, mi u stvari žele pristupiti vrijednost n kasnije u našem programu. U redu, tako da sada pričajmo o što je ovaj uvjet bi trebao biti. Želimo samo reprompt Korisnik tako dugo dok n nije valjan. Dakle, mislite u sebi ono što je invalid cjelobrojna vrijednost će izgledati a zatim izraditi logičku Izraz izraziti to. Skoro smo gotovi s našim zadatka od navelo i potvrđivanja korisničkog unosa. Tako ćemo to malo napraviti malo više user friendly i dati upute za malo malo više informacija onoga što smo ih pitajući za. Tako ćemo zatražiti od korisnika, po spec, s gudačkim minuta. Dakle, pomoću printf izjave, napraviti provjerite da li odgovaraju upravo to. U redu. Tako sada imamo važeći korisnički ulaz, pozitivni cijeli broj Vrijednost za koliko minuta su proveli u tuš. Što je sljedeće je izračunati ekvivalent broj boca. Ono što ćemo učiniti ovdje moglo biti vrlo očito da vas na početku, i to je u redu. Ono što želimo učiniti je da želite početi prakticirati ideja o otkrivanju uzoraka i razvija formule za taj problem. Dakle, mi smo rekli po spec da je u jednom trenutku u tuš je otprilike 12 boce vode. Pa onda dvije minute bi biti jednaka 24, i pet minuta bi biti jednaka 60. Pa sad, ako misliš ste je dobio, a zatim-a neka vidjeti ako možete doći do s uzorkom ili formuli izraziti, ako smo reći, n minuta, koliko boce vode bi da se izražava u smislu n? Opet, iako je to može biti jednostavno na prvi pogled, kasnije, kada dođemo u složeniji problemi ćemo žele ući praksa identifikacije uzoraka i razvoju formule shvatiti ove stvari. U st imate pristup standardne aritmetičke operacije, zbrajanje, oduzimanje, množenje i dijeljenje. Dakle, ja ću to prepustiti sada shvatiti Kako izraziti ekvivalent broj boca da korisnik potroši tijekom tušem. U redu, skoro smo gotovi. Mi smo to zatraži korisniku za ulaz, osigurali smo da je valjana ulaz, a onda smo shvatili kako izračunati ekvivalent broj boca koje su konzumirali. Dakle, posljednja stvar za učiniti je da izlaz ekvivalent broj boca i nadamo se potaknuti ih sačuvati vodu. Outputting vrijednost će biti printf priopćenju. Ako sam vam htio reći da sam tri ljubimci, na primjer, Možda ću koristiti printf izjavu koji izgleda ovako. Imam tri kućne ljubimce, a novi linija za lijepo oblikovanje. Sada mi ne želimo da se jednostavno teško kod stvari. Recimo broj mog kućni ljubimci mijenja tijekom vremena. Onda ću iskoristiti rezervirana mjesta u mom printf gubitka. Dakle, ovdje je moj broj je cijeli broj. Tako ću napraviti rezervirano mjesto za cijeli broj pomoću% i. Idem napisati niz, i onda nakon niza Pišem zarez, pa tek onda varijabla koja želim ispisati. Tako da će se vrijednost otisnuta umjesto toga rezerviranog mjesta,% i. Možete koristiti rezervirana mjesta, kao što je Pa, za kola sa f%. Također možete imati višestruke rezervirana mjesta u nizu. Na primjer, ako imam neki broj pasa i nekim brojem mačaka, stavio sam dva rezervirana mjesta ovdje, a zatim moje dvije varijable u odgovarajućem redoslijedu. Sada kada znamo kako ispisati vrijednosti spremljene u varijablama, zadnja stvar na to je da se osigura da smo ispisati vrijednost u točnom formatu navedeno u specifikaciji. Uz to, mi smo potaknuli su korisnik i ovjeren njihov doprinos. Mi smo tada izračunati ekvivalent Broj boca vode da oni troše tijekom tuširanja, a mi smo na izlazu tu vrijednost na njih. I tako smo završili vodu. Moje ime je [? Zamila,?] i to je CS50.