1 00:00:00,000 --> 00:00:00,720 2 00:00:00,720 --> 00:00:03,190 >> DAVID J. Malan: Tybiwch fod Hoffwn i weithredu rhaglen sy'n annog 3 00:00:03,190 --> 00:00:06,650 y defnyddiwr ar gyfer llinyn ac yna mynd yn ei flaen i fanteisio ar eu mewnbwn, 4 00:00:06,650 --> 00:00:09,790 drosi unrhyw llythrennau bach eu bod yn teipio i priflythyren. 5 00:00:09,790 --> 00:00:11,770 Wel, gadewch i ni fynd yn ei flaen a weithredu'r rhaglen. 6 00:00:11,770 --> 00:00:18,760 >> Gadewch i ni yn gyntaf yn cynnwys cs50.h dilyn gan gynnwys stdio.h. 7 00:00:18,760 --> 00:00:23,990 Ac felly y gallwn ei defnyddio strlen, gadewch i ni gynnwys string.h. 8 00:00:23,990 --> 00:00:29,860 >> Gadewch i ni ddatgan brif brif ddi-rym yn int nesaf a gadewch i ni fwrw ymlaen i ysgogi 9 00:00:29,860 --> 00:00:31,600 y defnyddiwr ar gyfer llinyn. 10 00:00:31,600 --> 00:00:34,840 Printf, gadewch i ni yn eu hannog ar gyfer rhai mewnbwn. 11 00:00:34,840 --> 00:00:36,460 Nawr, gadewch i ni ddatgan llinyn - 12 00:00:36,460 --> 00:00:37,630 byddwn yn ei alw'n s - 13 00:00:37,630 --> 00:00:44,010 ac yn ei storio ynddo o ganlyniad i alw y GetString swyddogaeth llyfrgell CS50. 14 00:00:44,010 --> 00:00:48,850 >> Gadewch i ni yn awr symud ymlaen i ailadrodd dros bob o'r cymeriadau yn s, gan fanteisio 15 00:00:48,850 --> 00:00:50,650 unrhyw lythyrau llythrennau bach a welwn. 16 00:00:50,650 --> 00:00:53,630 Ar gyfer int, fi gael 0. 17 00:00:53,630 --> 00:00:58,780 Gadewch i ni hefyd yn datgan n fel rhai sy'n hafal i hyd cyfres o s fel y gallwn 18 00:00:58,780 --> 00:01:03,590 ailadrodd o hyd i n, y hyd, ac ar bob 19 00:01:03,590 --> 00:01:05,760 i cynyddiad iteriad. 20 00:01:05,760 --> 00:01:09,970 >> Ac yna tu mewn dolen hon, gadewch i ni gwiriad cyntaf yw'r llythyr cyfredol - 21 00:01:09,970 --> 00:01:12,270 y llythyr i-fed s, fel petai - 22 00:01:12,270 --> 00:01:14,170 lythyr llythrennau bach. 23 00:01:14,170 --> 00:01:23,090 Ai fi s braced yn fwy na neu'n hafal i lythrennau bach yn, ac mae'n llai 24 00:01:23,090 --> 00:01:26,900 na neu'n hafal i z llythrennau bach - 25 00:01:26,900 --> 00:01:30,860 Nawr, os ydym am i drosi llythrennau bach llythyr at priflythyren, cofio gyntaf 26 00:01:30,860 --> 00:01:35,810 mewn ASCII llythrennau bach a a yn 97 ac mae priflythyren A yw 65. 27 00:01:35,810 --> 00:01:41,020 Yn y cyfamser, llythrennau bach a b yn 98, ac mae priflythyren B yw 66. 28 00:01:41,020 --> 00:01:44,180 >> Os byddwn yn parhau i edrych ar y patrwm, byddwn yn gweld bod y llythrennau bach 29 00:01:44,180 --> 00:01:49,240 llythyrau 32 gwerthoedd bob amser yn uwch na'r llythyrau priflythyren. 30 00:01:49,240 --> 00:01:53,490 Felly, os ydym am i drosi o llythrennau bach i priflythyren, dylai 31 00:01:53,490 --> 00:01:57,210 ddigon, mewn gwirionedd, i dynnu 32 o fewnbwn y defnyddiwr. 32 00:01:57,210 --> 00:02:01,330 Neu yn fwy cyffredinol, dim ond tynnu y gwahaniaeth rhwng llythrennau bach a a a 33 00:02:01,330 --> 00:02:02,310 cyfalaf A. 34 00:02:02,310 --> 00:02:03,410 >> Sut i fynegi hynny? 35 00:02:03,410 --> 00:02:04,640 Wel, gadewch i ni wneud hynny mewn cod. 36 00:02:04,640 --> 00:02:09,960 Printf, Dyfyniadau "% c" i argraffu cymeriad presennol, wedi'i ddilyn gan 37 00:02:09,960 --> 00:02:18,500 argraffu beth bynnag sydd yn s braced i minws canlyniad o wneud llythrennau bach a 38 00:02:18,500 --> 00:02:22,660 minws priflythyren A colon. 39 00:02:22,660 --> 00:02:27,010 Mewn geiriau eraill, cromfachau hwn mynegiant, mae ychydig o minws mawr A, 40 00:02:27,010 --> 00:02:29,360 mynd i ddychwelyd i ni yn diwedd y dydd 32. 41 00:02:29,360 --> 00:02:31,230 Ond nid oes rhaid i mi gofio ei fod yn 32. 42 00:02:31,230 --> 00:02:34,150 Gallaf caniatáu i'r cyfrifiadur i chyfrif i maes beth yw'r gwahaniaeth rhwng llythrennau bach 43 00:02:34,150 --> 00:02:35,990 a a chyfalaf A yn. 44 00:02:35,990 --> 00:02:39,610 >> Yn y cyfamser, ar ôl i mi yn gwybod y gwahaniaeth hwnnw, Gallaf dynnu rhag s 45 00:02:39,610 --> 00:02:43,710 Bydd braced i, sy'n cymryd yr hyn sydd yn ôl pob tebyg llythyr llythrennau bach i 46 00:02:43,710 --> 00:02:48,100 gwerth is, sef gwerth sy'n mapio ar cyfwerth priflythyren. 47 00:02:48,100 --> 00:02:51,240 Gadewch i ni yn awr yn arbed, crynhoi, a rhedeg y rhaglen hon. 48 00:02:51,240 --> 00:02:57,760 Gwneud manteisio dot slaes cyfalafu. 49 00:02:57,760 --> 00:03:01,290 A bydd fy mewnbwn yn helo. 50 00:03:01,290 --> 00:03:02,920 Ac mae gennym, helo. 51 00:03:02,920 --> 00:03:05,570 >> Nawr mae fy brydlon, rhaid cyfaddef, yn ychydig yn hyll, oherwydd rydym wedi 52 00:03:05,570 --> 00:03:07,810 hepgor un ychydig o argraffu. 53 00:03:07,810 --> 00:03:09,370 A gadewch i ni fynd yn ôl ac ychwanegu bod. 54 00:03:09,370 --> 00:03:12,890 Ar waelod y rhaglen hon, Rwy'n syml iawn, ac i raddau helaeth ar gyfer 55 00:03:12,890 --> 00:03:18,440 bwrpas esthetig, yn mynd i ychwanegu printf, dyfynnwch, slaes unquote n. 56 00:03:18,440 --> 00:03:22,330 Gadewch i ni resave y ffeil, ail-grynhoi, ailgynnal. 57 00:03:22,330 --> 00:03:28,090 >> Gwneud manteisio, dot slaes fanteisio. 58 00:03:28,090 --> 00:03:32,540 Unwaith eto, ar gyfer mewnbwn 'n annhymerus' yn rhoi "helo" ym mhob achos is ac yn awr daro Mewnbynnu, 59 00:03:32,540 --> 00:03:34,550 a "helo," argraffwyd llawer mwy lân. 60 00:03:34,550 --> 00:03:36,432