>> [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]