SIARADWR 1: Gadewch i ni siarad am ddŵr. Yn y broblem hon, rydym yn gofyn i'r defnyddiwr i ddweud ni pa mor hir mewn munudau oedd eu cawod ac yna rydym yn cyfrifo'r cyfwerth nifer o boteli o ddŵr bod eu cawod a ddefnyddir. Felly beth yw ein i-wneud yn am y broblem hon? Yn gyntaf, rydym yn mynd i eisiau i ysgogi ac yna dilysu mewnbwn y mae'r defnyddiwr yn rhoi i ni. Unwaith y byddwn yn sicrhau ein bod yn cael mewnbwn defnyddwyr dilys, rydyn ni'n mynd i gyfrifo'r nifer cyfatebol o boteli o ddŵr nad oedd gan y defnyddwyr yn ystod eu cawod, ac yna rydym yn mynd i ddweud iddynt gan argraffu y rhif hwnnw. Felly gadewch i ni fynd i'r afael â'n cyntaf tasg, annog a dilysu y mewnbwn defnyddwyr. Ar gyfer hyn rydym wedi ysgrifennu swyddogaeth i chi a elwir yn get_int lleoli yn y Llyfrgell CS50. get_int yn sicrhau bod y mewnbynnau defnyddiwr yn gyfanrif, felly unrhyw rifau positif, rhifau negyddol, neu sero yn cael eu derbyn i gyd. Ond os bydd y defnyddiwr yn mewnbynnau unrhyw beth arall, felly mae unrhyw gyfuniad o lythrennau neu rifau neu rifau degol, yna bydd y Bydd y defnyddiwr yn cael ei annog i ailgeisio ac ni fydd y swyddogaeth yn derbyn unrhyw beth nes bod y defnyddiwr yn rhoi cyfanrif iddynt. Felly sut ydym yn defnyddio get_int? Os byddwch yn agor eich lle gwaith a creu ffeil o'r enw integer.c gadewch i ni teipiwch y canlynol. Hashtag cynnwys cs50.h. Mae hyn yn angenrheidiol oherwydd get_int yn swyddogaeth llyfrgell cs50, felly mae'n rhaid i ni hashtag gynnwys ei datganiad er mwyn i ddefnyddio'r swyddogaeth. Ac yna yn fy mhrif gweithredu Im 'jyst yn mynd i wneud dim ond ffoniwch y get_int swyddogaeth. Felly gadewch i ni redeg hyn a gweld sut mae'n gweithio. Rwyf eisoes wedi llunio, felly gadewch i ni jyst mynd yn ei flaen ac yn rhedeg y rhaglen hon, ./integer. Yma, mae gen i prydlon a dyma lle rwy'n mewnbwn y gwerth. Dweud yr wyf yn rhoi mewn dim ond rhai cyfanrif, 50, yn eithrio'r rhaglen a Gadael a dyna hynny. Ond dweud fy mod yn rhedeg eto ac Rwyf mewnbwn rhywbeth arall. Efallai, helo byd. Nid yw hynny'n cyfanrif felly mae'r bydd y rhaglen yn annog fi i ailgeisio. Gadewch i ni geisio eto gyda efallai degol tro hwn. 0.5, unwaith eto, nid yn gyfanrif felly na fydd y rhaglen yn ei dderbyn a bydd yn dweud wrthyf i ailgeisio. Felly, gadewch i ni roi rhif arall. Mae'r rhaglen yn derbyn y peth, ymddiswyddo, ac rydym yn ei wneud. Felly, yn awr mae gennym swyddogaeth sy'n ein galluogi ac yn sicrhau bod y defnyddiwr mewnbynnau yn cyfanrif, ond sut allwn ni mewn gwirionedd yn cadw golwg ar y bwydo cyfanrifol gan y defnyddiwr? Wel, pob byddwn yn ei wneud yw siop gwerth hwn mewn newidyn, dywedwch n. Felly os wyf yn datgan yn gyfanrif n, ac yr wyf yn gosod y gwerth i get_int, Yna n Bydd wedyn yn storio beth bynnag gwerthfawrogi'r defnyddiwr mewnbynnu. Mae pob hawl, felly erbyn hyn rydym wedi sicrhau bod Bydd y defnyddiwr yn rhoi yn gyfanrif ni ac rydym yn gwybod sut i gadw golwg o'r cyfanrif, ond cofiwch, cyfanrifau yn rhai cadarnhaol a negyddol. Felly nid yw'n wir yn gwneud synnwyr yng nghyd-destun y broblem hon bod y defnyddiwr yn cymryd cawod o yn dweud 12 munud negyddol. Felly mae angen i ni wneud yn siŵr bod y defnyddiwr mewn gwirionedd yn rhoi cyfanrif positif inni. Nawr, nid oes gennym ddim ond swyddogaeth sengl ar gyfer hynny, felly rydym yn mynd i gael i greu bod ni ein hunain. Felly rydym am barhaus annog y defnyddiwr nes eu bod yn rhoi cyfanrif positif inni. Os ydw i'n gwneud rhywbeth yn barhaus, yna mae hynny'n debyg i dolen, ailadrodd. Felly un o'r lluniadau a ddefnyddiwn yn c i weithredu ailadrodd a dolenni yw dolen gyfnod. Felly dolen tra, fel y a ddangosir yma, bydd gweithredu beth bynnag sydd yng nghorff y ddolen fel belled â bod y yn gwerthuso cyflwr a roddir i wir. Cyn gynted ag y cyflwr hwnnw gwerthuso i ffug, yna bydd y rhaglen yn symud ymlaen i beth bynnag dod ar ôl y corff y ddolen. Felly, er bod dolenni yn mynd i fod yn ddefnyddiol iawn yn CS50. Ond yn yr arbennig achos, rydym yn gwybod ein bod ni'n mynd i annog y defnyddiwr o leiaf unwaith ac wedyn dim ond ddolen os bydd angen. Felly dyma ni yn dod i lluniad arbennig a dyna debyg iawn i'r tra Gelwir dolen dolen do-gyfnod. Felly dolen do-tra executes corff y ddolen o leiaf unwaith ac yna mae'n gwiriadau i weld a ddylai weithredu, yn hytrach na dolen tra, a fydd yn gwirio cyflwr ac yna gweithredu y corff. Felly, mewn dolen do-tra yr hyn yr ydym efallai ei wneud yw annog y defnyddiwr ar gyfer cyfanrif, ac yna gwirio os yw'n annilys neu beidio. Os yw'n annilys, yna rydym annhymerus ' ailadrodd y broses yn gofyn i'r defnyddiwr i roi cyfanrif arall ni, ac yna dim ond pan fydd y cyfanrif yn ddilys, byddwn yn parhau i beth bynnag a ddaw wedyn. Nawr byddwch yn sylwi bod y datganiad o'r cyfanrif n ychydig yn wahanol i'r hyn yr ydym gwnaeth o'r blaen yn yr enghraifft flaenorol ac mae hyn oherwydd y cwmpas. Os ydym wedi datgan y cyfanrif n y tu mewn o'r corff y ddolen do-tra, yna ni fyddem yn gallu cael mynediad fod werth n tu allan i'r rhai cyrliog bresys dangos y corff y ddolen. Ond rydym yn mewn gwirionedd yn awyddus i gael mynediad at y werth n nes ymlaen yn ein rhaglen. Iawn, felly yn awr gadewch i ni siarad am yr hyn y dylai amod hwn fod. Rydym eisiau yn unig reprompt y defnyddiwr cyhyd ag n yn annilys. Felly yn meddwl i chi eich hun beth yw annilys Byddai gwerth cyfanrif edrych fel ac yna creu Boolean mynegiant i fynegi hynny. Rydym yn bron â gorffen gyda'n subtask o anogaeth a dilysu mewnbwn defnyddwyr. Felly gadewch i ni wneud hyn ychydig ychydig yn fwy cyfeillgar i'r defnyddiwr ac yn rhoi i'r defnyddiwr ychydig ychydig mwy o wybodaeth yr hyn rydym yn eu anogaeth i. Felly gadewch i ni annog y defnyddiwr, fesul y spec, gyda'r cofnodion llinyn. Felly gan ddefnyddio eich datganiadau printf, yn gwneud yn siŵr eich bod yn cyd-fynd yn union hyn. Iawn. Felly, yn awr mae gennym defnyddiwr dilys mewnbwn, cyfanrif positif gwerth am faint o funudau maent yn ei wario yn y gawod. Felly beth nesaf yw cyfrifo y nifer cyfatebol o boteli. Yr hyn yr ydym yn mynd i wneud yma a allai yn amlwg iawn i chi ar y dechrau, ac mae hynny'n iawn. Yr hyn yr ydym eisiau ei wneud yw ein bod am ddechrau ymarfer y syniad o ganfod patrymau a datblygu fformiwlâu ar gyfer y broblem. Felly, rydym yn gwybod unol â'r fanyleb bod un munud yn y gawod yn cyfateb i tua 12 poteli o ddŵr. Felly, yna byddai dau funud fod yn gyfwerth â 24, a byddai pum munud yn cyfateb i 60. Felly, yn awr os ydych yn meddwl gennych, yna gadewch i ni weld a allwch chi ddod i fyny gyda phatrwm neu fformiwla i fynegi os ydym wedi dweud, n munud, faint o boteli o ddŵr a fyddai'n cael ei fynegi yn nhermau n? Unwaith eto, er bod hyn allai fod yn syml ar y dechrau, yn nes ymlaen pan fyddwn yn cyrraedd problemau mwy cymhleth rydym yn mynd i eisiau mynd i mewn i yr arfer o nodi patrymau a datblygu fformiwlâu at chyfrif pethau hyn allan. Yn c oes gennych fynediad i'r gweithrediadau rhifyddeg safonol, adio, tynnu, lluosi, a rhannu. Felly byddaf yn gadael i chi nawr at chyfrif i maes sut i fynegi'r nifer cyfatebol o boteli bod y defnyddiwr a ddefnyddir yn ystod eu cawod. Mae pob hawl, rydym yn gwneud bron. Rydym wedi ysgogi'r defnyddiwr am eu mewnbwn, rydym wedi sicrhau ei fod yn gyfraniad dilys, ac yna rydym wedi cyfrifedig gwybod sut i gyfrifo nifer o boteli y maent yn ei fwyta. Felly, y peth olaf i'w wneud yw allbwn y nifer cyfatebol o boteli a gobeithio annog iddynt i warchod rhywfaint o ddŵr. Outputting bydd gwerth fod yn ddatganiad printf. Os wyf eisiau dweud fy mod i chi cael tri anifeiliaid anwes, er enghraifft, Efallai fy mod yn defnyddio datganiad printf sy'n edrych yn debyg i hyn. Mae gen i dri anifeiliaid anwes, ac yn newydd lein ar gyfer fformatio 'n glws. Nawr, nid ydym am yn syml cod caled bethau. Dweud y nifer o fy anifeiliaid anwes yn newid dros amser. Yna rwy'n mynd i wneud defnydd o dalfannau yn fy natganiad printf. Felly dyma fy rhif yn gyfanrif. Felly, yr wyf i'n mynd i wneud dalfan am cyfanrif defnyddio% i. Rydw i'n mynd i ysgrifennu y llinyn, ac yna ar ôl y llinyn Rwy'n ysgrifennu coma ac yna'r newidyn yr wyf am ei argraffu. Felly bydd y gwerth yn cael ei argraffu yn lle hynny placeholder,% i. Gallwch ddefnyddio bachau, fel y yn dda, er fflotiau gyda% yn f. Gallwch hefyd gael lluosog dalfannau mewn llinyn. Er enghraifft, os oes gennyf rai rif cŵn a rhyw nifer o cathod, Yr wyf yn rhoi dau dalfannau yma ac yna fy dau newidyn er perthnasol. Felly, nawr ein bod yn gwybod sut i argraffu gwerthoedd storio mewn newidynnau, y peth olaf un i wneud yw sicrhau ein bod yn argraffwch y gwerth yn yr union fformat a nodir yn y fanyleb. Gyda hynny, rydym wedi ysgogi'r defnyddwyr a ddilyswyd eu mewnbwn. hynny rydym wedi cyfrifo cyfwerth nifer o boteli o ddŵr eu bod yn bwyta yn ystod eu cawod, ac rydym wedi outputted bod gwerth iddynt. Ac felly, rydym wedi cwblhau dŵr. Fy enw i yw [? Zamila,?] ac mae hyn yn CS50.