>> DAVID J. Malan: Gadewch i ni ddechrau ysgrifennu rhai cyflyrau mwy cymhleth.
Yn arbennig, gadewch i ni ysgrifennu rhaglen sy'n annog y defnyddiwr ar gyfer cyfanrif,
dweud, rhwng 1 a 10, ac yna yn gwneud ychydig o ddadansoddi.
Ond y tro hwn yn adrodd a yw hynny'n nifer yn fach neu'n ganolig neu fawr yn
maint, gan dynnu gwahaniaethau hynny weddol fympwyol.
>> I wneud hyn, yr wyf i'n mynd i ddibynnu ar get int, y swyddogaeth honno o'r CS50
llyfrgell sy'n gwneud yn union hynny.
Ac yr wyf hefyd yn ddim yn mynd i trosoledd print f.
Felly, yr wyf i'n mynd i ddechrau arni trwy gynnwys cs50.h fel
ogystal io.h. safonol
>> Ac yn mynd wedyn i ddatgan phrif yn y ffordd arferol, prif ddi-rym int, cyrliog agored
Brace, Brace cyrliog yn agos.
A dwi'n wedyn yn mynd i ysgogi y defnyddiwr ar gyfer cyfanrif.
Print f, os gwelwch yn dda roi i mi yn int rhwng 1 a 10.
>> Nawr, gadewch i ni gael y int drwy ddatgan amrywiol o'r enw, dyweder, n ac yn neilltuo
mae'n werth dychwelyd int get.
Gadewch i ni yn awr yn gwneud ychydig o ddadansoddi.
>> Os yw n yn fwy na neu'n hafal i 0 a n yn llai na neu'n hafal i, dyweder, 3,
yna rydym yn mynd i fynd yn ei flaen ac argraffu gwybod eich dewis yn int bach.
>> Arall, os yw'r defnyddiwr yn dewis, dyweder, gwerth o faint canolig, gadewch i ni
gwirio ar gyfer hynny fel a ganlyn.
Arall os n yn fwy na neu'n hafal i, dyweder, 4 ac n yn llai na neu'n hafal i,
dyweder, 7, yna dwi'n mynd i argraffu gwybod eich dewis yn int canolig.
>> Yn olaf, dwi'n mynd i gymryd yn ganiataol bod os gwerth rhwng 8 a 10, maent yn
dewis yn int mawr.
Felly, i fynegi hynny, byddaf yn teipio, arall os n yn fwy na neu'n hafal i 8 a n
yn llai na neu'n hafal i 10, mynd yn ei flaen ac argraffu i chi dewis yn int mawr.
>> Else, mae 'na pedwerydd amod yma.
Os nad yw'r defnyddiwr yn cydweithredu ac yn lle hynny deipio gwerth sy'n llai na
0 neu fwy na 10, yr wyf am i cerydd syml iddynt.
Arall argraffu, rydych dewis yn int annilys.
>> Gadewch i arbed y ffeil.
Llunio â gwneud nad ydynt yn newid.
Yn ôl yn fy brydlon, dw i'n mynd i redeg gyda dot slaes nad ydynt yn-switsh.
A gadewch i ni roi cynnig ar ambell gwerthoedd.
>> Yn gyntaf, gadewch i ni fod gwrthod cydweithredu a theipiwch yn negyddol 1.
Yn ffodus, a gafodd ei ganfod gan ein gangen terfynol yn y cyflwr hwnnw.
Gadewch i ni geisio eto gyda dot slaes nad ydynt yn newid, y tro hwn gan roi 1.
Yr wyf yn wir dewis yn int bach.
>> Gadewch i ni ei wneud eto gyda dot slaes nad ydynt yn newid, y tro hwn pigo, dyweder, 5.
Ac mae hynny'n int canolig.
Gadewch i ni yn awr unwaith eto yn dot slaes nad ydynt yn-switsh.
A rhoi gwerth o 10, sy'n yn wir yn int mawr.
>> Nawr mae'n werth nodi bod y rhaglen hon gellid bod wedi rhoi ar waith yn
unrhyw nifer o ffyrdd.
Yn gyntaf oll, yn gwbl fympwyol fy mod tynnodd y llinellau yr wyf
wnaeth ymhlith bach, canolig, a ints mawr.
Gallem fod wedi tynnu rhai ffiniau yn unrhyw le.
>> Ond yn fwy diddorol, doedd gen i ddim i fynegi fy hun gyda phob un o'r rhain
fwy na neu'n hafal i neu'n llai na neu'n hafal i arwyddion.
Allwn fod wedi, er enghraifft, hailysgrifennu os n yn fwy na neu'n hafal i 4 ac
n yn llai na neu'n hafal i 7, yn lle hynny os n yn fwy na 3 ac n
yn llai nag 8, yna argraffu chi dewis yn int canolig.
>> Wedi'r cyfan, os fewnbwn y defnyddiwr, gan natur int get, yn gyfanrif, rydym yn
naill ai prawf os yw'r gwerth yn fwy na 3 neu fwy na neu'n
gyfartal i 4.
A gallai rydym hefyd yn gwirio os yw hynny'n gwerth llai na 8 neu lai
na neu'n hafal i 7.