[Musika jotzen] ZAMYLA CHAN: Nahi al duzu jaso beharrean $ 10 milioi oraintxe edo jaso pennies hilaren egunero, non ondorengo egun bakoitzean, jasotzen dituzun bikoitza pennies zenbatekoa duzu jaso eguna baino lehen? Pennies, nahi dugu zergatik frogatu beharko behin betiko hartu pennies du. Zure lana da idazteko pennies.c-- duen programaren lehenengo erabiltzaileari galdetzen dio nola egun ez dago hilabete dira, eta ondoren, zenbat pennies erabiltzaileari eskatu dio izango dira lehen egunean jasoko du. Programa behar du, ondoren, kalkulatu Zenbateko erabiltzaileak egingo dute horren amaieran metatutako hilaren aldean, eta erakutsi. Programa honen apurtu dezakegu sortu zereginak pare batean. Behar egiteko eskatuko dizugu Erabiltzaile sarrera - egun eta hilabeteetan, eta pennies lehendabiziko egunean. Segimendua egiteko behar ditugu, zenbat diru erabiltzaileak eguneratu eta behin eguna, zenbatekoa bikoiztu egin da pennies jasoko dutela. Eta, azkenik, beren dugu inprimatu final guztira, dolarretan. Dezagun aparailua erabiltzailearen sarrera lehen. Ireki apples.c noa, labur-programa lantzen sarrera eta irteera. Goiko hemen sartzen ditut - liburutegiak behar dut CS50 liburutegia eta estandar bat I / O liburutegia. Gonbit bat erabiliz inprimatu dut funtzio printf standard I / O liburutegia. Baina benetako galdetu erabiltzailearen honekin hurrengo lerroan gertatzen GetInt CS50 liburutegian funtzioa. GetInt erabiltzailearen sarrera eta lortzen bermatzen duen sarrera oso bat da. Beraz, erabiltzailearen sarrera gorde dut osokoa sartu kendu i 1 i, eta, ondoren, inprimatu i galtzen balio berria. Apples.c biltzeko erabiliz, ondoren komandoa "egiteko, sagarrak," bat dut fitxategi exekutagarria sagarrak. Duten carrera, sarrera-1 dut. Programa kontatzen me 0 sagarrak utzi dut. Eta, beraz, espero bezala lan egin zuen. Hargatik exekutatu berriro sarrera eta negatiboak 1. Orain, sagarrak zenbatekoa negatiboa edukitzea ez du benetan zentzua, baina programa onartzen da, negatiboa delako 1, ondo, oso bat da. Eta, orain, programa edo munstroa programa jaten negatibo baten barruan sagarra, eta orain daukat negatiboa 2 sagarrak. Hm, beraz, ikasgai bat - nahiz GetInt funtzioa eta lotutako funtzioak, GetFlow bezala edo Lortu GetString eskuineko datu-mota, duzu izan ziur sarrera egiten dituen egiteko Zure programa zentzua. Pennies, berriz, ez da besterik egin galdetzeko zenbaki oso bat da, behar dituzun Ziur erabiltzaileak sarrera oso bat dagoela duten zentzua ematen testuinguruan. Hilabetea besterik ezin da izan 28, 29, 30 edo 31 egun. Etengabe exijitu nahi dugu baliozko zenbaki oso bat. Gure kanpo osokoa sarrera badute onartutako mugetatik, horietako galdetuko dugu behin eta berriro, arte ematen baliozko zenbaki oso bat. Gogora "errepikatu arte" Scratch bloke? Antzeko eraikuntza bat egin dezakezu C bat ", berriz," begizta erabiliz edo "do-, berriz," begizta. Bitartean begizta egitura baldintza bat du hori lortzeko bete behar Begizta exekutatu gorputza. Hau apur bat antzekoa izan beharko luke, baldintza besterik ez bezalakoa da, zeren Scratch angelu bloke eta parentesi artean doa eta "bitartean" begizta. Beraz, baldintza hori egiaztatu den ala ez osokoa da, barruan egokiak mugetatik. Osoko erabiliz GetInt gonbita dezakezu eta, ondoren, exekutatu zure "bitartean" begizta, errepikatuz gonbita eta inprimatzeko argibideak, berriz, sarrera ez da zuzena. Beste modu bat, erabiltzailearen sarrera zuzena ziurtatzeko bat "egin-, berriz," begizta erabiltzen da, Oso bitartean begizta baten antzekoa da. "Do-while" begizta kodea exekutatzen gorputzaren direnak eta, gero, txekeak barruan baldintza betetzen den edo ez. Hau da, erabiltzaileak sarrera lortzeko erabilgarria Ezagutzen al duzu behar duzulako Horietako gonbita gutxienez behin. Baldintza ez bada betetzen, programa lerroa exekutatu egingo ondoren zure "do-, berriz," begizta. Baldintza betetzen bada, nahiz eta, begizta egingo errepikatu A "do-, berriz," erabiltzailea balioztatzeko for begizta sarrerako zerbait itxura hau izango du. Aldakorra n, GetInt deklaratzen dut, eta n ondoren, errepikatu da baliozko arte. Eta prozesu honetan, I azaldu zen, erabiliz osoko datu-mota, eta horrek Hilabete egunetan erabili ahal izango duzu. Baina jakin badakigu pennies kopurua gora pilatzen azkar, beraz, ordena gorde handiagoa zenbakiak, datu-mota LongLong, baina gogoratu bera baliozkotze-printzipioa aplikatzen da. Awesome, beraz, behin bi baliozko dugu Erabiltzaile sarrera - hilabete eta egun pennies du lehenengo egunean - hurrengo gainean mugitu ahal izango dugu programaren barruan. Lehenengo egunean, erabiltzaileak hasten Hala ere, asko dira pennies zehaztu eta pennies zenbatekoa dute jasotzeko hurrengo egunean bikoiztu egin da. Beraz, zentzuzkoa da segimendua egiteko Bi kopuruen - zenbat diru erabiltzaileak eta nola asko dira pennies eman behar duzu. Orain, 28 eta 31 egunetan gauza errepikakorra da, eta, beraz, erabil dezagun "for" bat begizta baino gehiago da, batetik bestera joateko egun duen hilabetea, guztira eta Penny eguneratzeko zenbatekoa den bakoitzean. Begizta sintaxia dauka "lortzeko" honako hau - Hasieratzea bat, baldintza bat, eta eguneraketa. Zure "for" begizta egingo abiarazi aldagai bat, noiz lehen begizta sartzen da. Baldintza betetzen bada, gorputza begiztaren egingo exekutatu. Ondoren, eguneratu egingo exekutatu. Baldintza betetzen bada, oraindik ere, eta begizta exekutatuko da eguneratu, eta errepikatu, beti ere zure egoera gisa Egia ebaluatzen. Hona hemen "" nahi duten banatzen begizta bat osokoa 2 10 aldiz, guztira by p. Kontuan nola osokoa p deklaratu dut nire "for" begizta kanpo, beraz, zenbaki oso bat eskuragarria izan daiteke eta "for" begizta kanpo. Hilabete igaro ondoren, denbora da Erabiltzaile esateko zenbat diru ahaztuak dut dute. Zehaztutako bakoitzeko, erabiltzaileak kontatu behar duzu zenbat dolar, ez zenbat pennies, dute. Baina, orain arte, mantendu duzu pista guztira eta pennies du LongLongs erabiliz, diren zenbaki osoak. Daude, $ 1 pennies 100 bat, beraz, ez bada behintzat pennies kopurua da bat 100 bat baino gehiago behar duzu irudikatzeko hamartar lekuak. Bikoiztu autotype ahalbidetzen Hau egin beharko duzu. Beraz, nola bihurtu ordezkari dugu to dolar pennies? Ikus dezagun bat pi.c. Programa hau bat hartzen LongLong big_pi eta banatzen da, 100.000 dira, eta grabatuak bost hamartarrekin bat emaitza. Nahi izan dugu, lau hamartar erakutsi nahi izanez gero, lekuak, eta, ondoren, besterik gabe, ezin dugu ordezkatu honetan zenbakia hemen. Hargatik gorde, pi bildu, eta gero emaitza gara, espero 3,1415 izan - pi du lehenengo bost digituak. Ez da erraza izan. Eta zergatik? Beno, big_pi LongLong bat delako, den zenbaki osoa da, eta horrek ez du mantentzeko hamarren jarraipena. Aldaketa behar dut egiteko mantenduko da. Ra bikoitza bota aurretik, hemen behar dut , zatituz bikoitzak ezin duelako mantendu hamarrenekin jarraipena. Eta linea berri bat gehitu nahi dut Hemen formateatzeko hobeto. Eta hemen dugu - 3,1416. Nabarituko bistaratzen dela 3.1416 ahal izango duzu ordez 3,1415 du espero bezala. Hori zehar it errondak delako zatiketa prozesu gisa, besterik aurka balioa truncating. Orain gai izan inprimatzeko behar duzu azken osoaren bezala, eta hori bukatzen programa. Zorionak. Nire izena Zamyla da. Eta hau pennies zen. [Musika jotzen]