SPEAKER 1: Puhutaanpa vedestä.
Tässä tehtävässä me pyytää käyttäjää kertomaan kuinka kauan minuuteissa niiden suihku oli
ja sitten muunnetaan vastaavaksi lukumäärä vesipulloa
että niiden suihku käytetty.
>> Mitkä ovat meidän to-do: n tähän ongelmaan?
Ensin aiomme haluta pyytämään ja vahvista sitten
tulo, että käyttäjä antaa meille.
Kun voimme varmistaa, että meillä on pätevä käyttäjä syöttää,
aiomme laskea vastaava määrä vesipulloa
että käyttäjä oli yhteydessä niiden suihku, ja sitten olemme
kerron heille tulostamalla että määrä.
>> Joten puuttua ensimmäinen tehtävä, kehotukset ja validointi
käyttäjä syöttää.
Tästä olemme kirjoittaneet toiminto soitit
get_int sijaitsee CS50 kirjastosta.
get_int varmistaa, että käyttäjä syöttää kokonaisluku, joten mitään positiivisia lukuja,
negatiiviset luvut, tai nolla ovat kaikki hyväksytään.
Mutta jos käyttäjä syöttää mitään muuta, joten mitä tahansa kirjaimia tai numeroita
tai desimaalilukuja, niin käyttäjää kehotetaan yrittämään uudelleen
ja toiminto ei hyväksy mitään kunnes käyttäjä antaa heille kokonaisluku.
>> Miten käytämme get_int?
Jos avaat työtilan ja luo tiedosto nimeltä integer.c katsotaanpa
kirjoittamalla seuraavan.
Hashtagia ovat cs50.h.
Tämä on tarpeen, koska get_int on CS50 kirjaston funktion,
joten meidän on hashtagin sisältää sen ilmoitus, jotta
käyttää toimintoa.
Ja sitten minun tärkein toimisi Olen juuri menossa
yksinkertaisesti soittaa toiminto get_int.
>> Joten suorittaa tämän ja miten se toimii.
Olen jo koonnut sen, joten tehdään vain mennä eteenpäin ja suorita tämä ohjelma,
./kokonaisluku.
Täällä on nopea ja tässä tarina Syötin arvo.
Sano Laitoin vain joitakin kokonaisluku, 50, ohjelma excepts ja sulkeutuu
ja se siitä.
>> Mutta sanoa ajaa sen uudelleen ja Syötin jotain muuta.
Ehkä, Hello World.
Se ei ole kokonaisluku, joten Ohjelma pyytää minua uudelleen.
Yritetään uudelleen ehkä desimaalin tällä kertaa.
0,5, jälleen, ei ole kokonaisluku, joten ohjelma ei hyväksy sitä
ja se kerron minulle uudelleen.
Joten antaa sille toinen numero.
Ohjelma hyväksyy sen, sulkeutuu, ja olemme tehneet.
>> Joten nyt meillä on funktio jonka avulla voimme sekä varmistaa
että käyttäjä syöttää kokonaisluku, mutta miten voimme
itse seurata kokonaisluku käyttäjän syöttämän?
No, kaikki teemme on kauppa Tämän arvon muuttujaan, sano n.
Jos siis julistaa kokonaisluku n, ja asetan tämän arvon get_int,
sitten n jälkeen kaikenlaiseen arvostavat käyttäjä syötetty.
>> Selvä, joten nyt olemme varmistaneet, että käyttäjä antaa meille kokonaisluku
ja osaamme seurata kokonaisluvun, mutta muista,
kokonaisluvut ovat sekä positiivisia että negatiivisia.
Joten se ei oikeastaan ​​järkeä yhteydessä tähän ongelmaan
että käyttäjä ottaa suihku of sanoa negatiivinen 12 minuuttia.
Joten meidän täytyy varmistaa, että käyttäjä itse asiassa antaa meille positiivinen kokonaisluku.
Nyt meillä ei ole vain yksittäinen toiminto, että
niin me aiomme olla luoda että itse.
>> Niinpä haluamme jatkuvasti kysyy käyttäjältä
kunnes ne antavat meille positiivinen kokonaisluku.
Jos teen jotain jatkuvasti sitten se muistuttaa silmukan, toistuminen.
Joten yksi rakenteet, jotka käytämme C toteuttaa toistoa ja silmukat
on samalla silmukka.
Joten vaikka silmukka, kuten kuvassa, tulee suorittaa
mikä on kehossa kaareen kunhan annettu ehto arvioi
totta.
Heti kun tämä ehto epätosi, niin
ohjelma etenee tahansa tulee sen jälkeen runko-silmukan.
>> Joten kun silmukoita aikovat todella hyödyllinen CS50.
Mutta tässä nimenomaisessa tapauksessa me tiedämme, että olemme
menossa kysyy käyttäjältä ainakin kerran ja silloinkin vain silmukka tarvittaessa.
Joten tässä tulemme erikoisen rakenteen ja siinä
hyvin samankaltainen, kun taas silmukka kutsutaan do-while-silmukka.
>> Joten tee-while-silmukka suorittaa elin silmukka ainakin kerran
ja sitten se tarkistaa, onko se tulisi suorittaa,
vastakohtana taas silmukka, joka tarkistaa ehdon
ja suorita kehossa.
Joten tee-while-silmukka, mitä voisimme vain pyytää käyttäjältä kokonaisluku,
ja sitten tarkistaa, onko se virheellinen vai ei.
Jos se on virheellinen, niin me toista prosessi pyytää käyttäjää
antaa meille toinen kokonaisluku, ja sitten ainoastaan ​​silloin, kun se kokonaisluku on voimassa,
jatkamme mitä tulee jälkeenpäin.
>> Nyt huomaat, että julistus kokonaisluvun n
on hieman erilainen kuin mitä me teki ennen edellisessä esimerkissä
ja tämä johtuu soveltamisalaa.
Jos olisimme ilmoittanut kokonaisluvun n sisällä rungon tee-while-silmukka,
niin emme voi käyttää että arvo n ulkopuolella näitä kihara
olkaimet osoittaa rungon silmukan.
Mutta me emme itse asiassa halua käyttää arvo n myöhemmin ohjelmaamme.
>> OK, joten nyt puhutaanpa mitä tämä ehto pitäisi olla.
Haluamme vain reprompt Käyttäjä kunhan n on virheellinen.
Joten kysy itseltäsi mitä virheellisen kokonaisluku näyttäisivät
ja luo Boolen ilmaus ilmaista että.
>> Olemme melkein valmis meidän subtask Tähystyslaitteet ja validointi käyttäjä syöttää.
Joten tehdä tästä hieman bittinen käyttäjäystävällisempiä
ja antaa käyttäjälle hieman hieman enemmän tietoa
mitä me kehottaa heitä varten.
Joten kysyy käyttäjältä, per spec, jossa merkkijono minuuttia.
Joten käyttämällä printf lausuntoja, tehdä Varmista, että olet vastaa tätä tarkalleen.
>> Selvä.
Joten nyt meillä on voimassa oleva käyttäjätunnus input, positiivinen kokonaisluku
arvon, kuinka monta minuuttia he viettivät suihkussa.
Joten mitä seuraavaksi on laskea vastaava määrä pulloja.
Mitä aiomme tehdä täällä saattaisi olla hyvin ilmeistä teille aluksi,
ja se on OK.
Mitä me haluamme tehdä, on meidän haluavat aloittaa harjoittelua
ajatus havaita kuvioita ja kehittää kaavat ongelma.
>> Joten emme kertoneet kohti spec että yksi minuutti suihkussa
vastaa noin 12 pulloa vettä.
Joten sitten kaksi minuuttia olisi vastattava 24,
ja viisi minuuttia olisi vastattava 60.
Joten nyt jos luulet sinulla on se, niin katsotaanpa
katso jos voit keksiä kuviolla tai kaava
ilmaista jos olemme sanoa, n minuuttia, kuinka monta pulloa vettä
olisi joka ilmaistaan ​​n?
>> Jälleen vaikka tämä ehkä yksinkertainen aluksi,
myöhemmin, kun pääsemme monimutkaisempia ongelmia
aiomme haluavat päästä käytäntö tunnistaa
kuvioita ja kehittää kaavat selvittää näitä asioita.
>> C voit käyttää standardin laskutoimituksia,
yhteen-, vähennys-, kerto- ja jako.
Joten Jätän sen nyt selvittää
miten ilmaista vastaava määrä pulloja
että käyttäjä kuluttaa aikana suihku.
>> Selvä, olemme melkein valmis.
Olemme kysytään käyttäjän heidän panoksestaan, Olemme varmistaneet, että se on pätevä panos,
ja sitten olemme tajunnut, miten muunnetaan vastaavaksi
määrä pulloja, että ne kulutetaan.
Joten viimeinen asia tehdä, on ulostulo vastaava määrä pulloja
ja toivottavasti kannustaa ne säästää vettä.
>> Lähtönä arvo olla printf selvitys.
Jos halusin kertoa, että minä on kolme lemmikkieläimiä, esimerkiksi
Saatan käyttää printf selvitys että näyttää suunnilleen tältä.
Minulla on kolme lemmikkieläimiä, ja uusi linja mukavaa muotoilua.
>> Nyt emme halua yksinkertaisesti kova koodi asioita.
Sano määrä minun lemmikit muuttuu ajan mittaan.
Sitten aion hyödyntää paikkamerkkien minun printf selvitys.
Joten tässä numeroni on kokonaisluku.
Joten aion tehdä paikkamerkki for kokonaisluku käyttämällä% i.
Aion kirjoittaa merkkijonon, ja sitten sen jälkeen merkkijono
Kirjoitan pilkku ja sitten muuttuja Haluan tulostaa.
Niin että arvo tulostetaan sijasta että paikanvaraajassa% i.
>> Voit käyttää paikkamerkkejä, kuten hyvin, kelluvalle kanssa% f.
Voit myös olla useita paikkamerkkejä merkkijono.
Esimerkiksi, jos minulla on joitakin numero koirien ja joitakin kissoja,
Laitoin kaksi paikkamerkit tänne ja sitten minun kaksi muuttujaa vastaavissa järjestyksessä.
>> Joten nyt me tiedämme, miten tulostaa tallennettujen arvojen muuttujien
aivan viimeinen asia tehdä, on varmistaa, että
Tulosta arvo täsmällisessä muodossa mainittu tuoteselosteessa.
Kanssa, että olemme sai Käyttäjä ja validoitu niiden panos.
Olemme jälkeen laskettiin vastaavan lukumäärä vesipulloa
että ne kuluttavat aikana suihku, ja olemme tulostetaan että arvo heille.
Ja niin olemme valmiiksi vettä.
>> Nimeni on [? Zamila,?] ja tämä on CS50.