DAVID J. Malan: Tybiwch fod Hoffwn i weithredu rhaglen sy'n annog y defnyddiwr ar gyfer llinyn ac yna mynd yn ei flaen i fanteisio ar eu mewnbwn, drosi unrhyw llythrennau bach eu bod yn teipio i priflythyren. Wel, gadewch i ni fynd yn ei flaen a weithredu'r rhaglen. Gadewch i ni yn gyntaf yn cynnwys cs50.h dilyn gan gynnwys stdio.h. Ac felly y gallwn ei defnyddio strlen, gadewch i ni gynnwys string.h. Gadewch i ni ddatgan brif brif ddi-rym yn int nesaf a gadewch i ni fwrw ymlaen i ysgogi y defnyddiwr ar gyfer llinyn. Printf, gadewch i ni yn eu hannog ar gyfer rhai mewnbwn. Nawr, gadewch i ni ddatgan llinyn - byddwn yn ei alw'n s - ac yn ei storio ynddo o ganlyniad i alw y GetString swyddogaeth llyfrgell CS50. Gadewch i ni yn awr symud ymlaen i ailadrodd dros bob o'r cymeriadau yn s, gan fanteisio unrhyw lythyrau llythrennau bach a welwn. Ar gyfer int, fi gael 0. Gadewch i ni hefyd yn datgan n fel rhai sy'n hafal i hyd cyfres o s fel y gallwn ailadrodd o hyd i n, y hyd, ac ar bob i cynyddiad iteriad. Ac yna tu mewn dolen hon, gadewch i ni gwiriad cyntaf yw'r llythyr cyfredol - y llythyr i-fed s, fel petai - lythyr llythrennau bach. Ai fi s braced yn fwy na neu'n hafal i lythrennau bach yn, ac mae'n llai na neu'n hafal i z llythrennau bach - Nawr, os ydym am i drosi llythrennau bach llythyr at priflythyren, cofio gyntaf mewn ASCII llythrennau bach a a yn 97 ac mae priflythyren A yw 65. Yn y cyfamser, llythrennau bach a b yn 98, ac mae priflythyren B yw 66. Os byddwn yn parhau i edrych ar y patrwm, byddwn yn gweld bod y llythrennau bach llythyrau 32 gwerthoedd bob amser yn uwch na'r llythyrau priflythyren. Felly, os ydym am i drosi o llythrennau bach i priflythyren, dylai ddigon, mewn gwirionedd, i dynnu 32 o fewnbwn y defnyddiwr. Neu yn fwy cyffredinol, dim ond tynnu y gwahaniaeth rhwng llythrennau bach a a a cyfalaf A. Sut i fynegi hynny? Wel, gadewch i ni wneud hynny mewn cod. Printf, Dyfyniadau "% c" i argraffu cymeriad presennol, wedi'i ddilyn gan argraffu beth bynnag sydd yn s braced i minws canlyniad o wneud llythrennau bach a minws priflythyren A colon. Mewn geiriau eraill, cromfachau hwn mynegiant, mae ychydig o minws mawr A, mynd i ddychwelyd i ni yn diwedd y dydd 32. Ond nid oes rhaid i mi gofio ei fod yn 32. Gallaf caniatáu i'r cyfrifiadur i chyfrif i maes beth yw'r gwahaniaeth rhwng llythrennau bach a a chyfalaf A yn. Yn y cyfamser, ar ôl i mi yn gwybod y gwahaniaeth hwnnw, Gallaf dynnu rhag s Bydd braced i, sy'n cymryd yr hyn sydd yn ôl pob tebyg llythyr llythrennau bach i gwerth is, sef gwerth sy'n mapio ar cyfwerth priflythyren. Gadewch i ni yn awr yn arbed, crynhoi, a rhedeg y rhaglen hon. Gwneud manteisio dot slaes cyfalafu. A bydd fy mewnbwn yn helo. Ac mae gennym, helo. Nawr mae fy brydlon, rhaid cyfaddef, yn ychydig yn hyll, oherwydd rydym wedi hepgor un ychydig o argraffu. A gadewch i ni fynd yn ôl ac ychwanegu bod. Ar waelod y rhaglen hon, Rwy'n syml iawn, ac i raddau helaeth ar gyfer bwrpas esthetig, yn mynd i ychwanegu printf, dyfynnwch, slaes unquote n. Gadewch i ni resave y ffeil, ail-grynhoi, ailgynnal. Gwneud manteisio, dot slaes fanteisio. Unwaith eto, ar gyfer mewnbwn 'n annhymerus' yn rhoi "helo" ym mhob achos is ac yn awr daro Mewnbynnu, a "helo," argraffwyd llawer mwy lân.