1 00:00:00,000 --> 00:00:00,720 2 00:00:00,720 --> 00:00:03,190 >> DAVID J. Malan: Segjum sem svo að mig langar að hrinda í framkvæmd áætlun sem hvetja 3 00:00:03,190 --> 00:00:06,650 notanda fyrir streng og þá fer áfram að nýta inntak þeirra, 4 00:00:06,650 --> 00:00:09,790 Umbreyti allir lágstafir sem þeir slá í hástafi. 5 00:00:09,790 --> 00:00:11,770 Jæja, við skulum fara á undan og framkvæma þessi forrit. 6 00:00:11,770 --> 00:00:18,760 >> Skulum fyrst fela cs50.h fylgt fela stdio.h. 7 00:00:18,760 --> 00:00:23,990 Og svo að við getum notað strlen, skulum fela string.h. 8 00:00:23,990 --> 00:00:29,860 >> Skulum næst lýsa helstu og int helstu tóm og við skulum nú halda áfram að hvetja 9 00:00:29,860 --> 00:00:31,600 notanda fyrir streng. 10 00:00:31,600 --> 00:00:34,840 Printf, við skulum hvetja þá um nokkurt inntak. 11 00:00:34,840 --> 00:00:36,460 Nú skulum lýsa streng - 12 00:00:36,460 --> 00:00:37,630 við munum kalla það s - 13 00:00:37,630 --> 00:00:44,010 og geyma í það afleiðing af starf að cs50 bókasafn virka GetString. 14 00:00:44,010 --> 00:00:48,850 >> Skulum nú halda áfram að iterate yfir hvor persónurnar í s, fjármagna 15 00:00:48,850 --> 00:00:50,650 allir lágstafir sem við sjáum. 16 00:00:50,650 --> 00:00:53,630 INT, ég fá 0. 17 00:00:53,630 --> 00:00:58,780 Skulum einnig lýsa n eins og að vera jöfn band lengd s þannig að við getum 18 00:00:58,780 --> 00:01:03,590 iterate frá i upp til N, lengd s, og á hvorum 19 00:01:03,590 --> 00:01:05,760 endurtekning vöxtur i. 20 00:01:05,760 --> 00:01:09,970 >> Og þá inni þessa lykkju, við skulum Fyrst skaltu athuga er núverandi bréf - 21 00:01:09,970 --> 00:01:12,270 i-th bréf af s, svo að segja - 22 00:01:12,270 --> 00:01:14,170 A lágstafir bréf. 23 00:01:14,170 --> 00:01:23,090 Ef s krappi, i er stærra en eða jafnt til lágstafir a, og það er minna 24 00:01:23,090 --> 00:01:26,900 en eða jafnt og lágstafir Z - 25 00:01:26,900 --> 00:01:30,860 Nú ef við viljum breyta lágstafir bréf til hástafi, muna fyrst að 26 00:01:30,860 --> 00:01:35,810 ASCII er lágstafir a er 97 og hástafi A er 65. 27 00:01:35,810 --> 00:01:41,020 Á meðan, a lágstafir b er 98, og hástafi B er 66. 28 00:01:41,020 --> 00:01:44,180 >> Ef við höldum áfram að líta á þessi mynstur, við munum sjá að lágstafir 29 00:01:44,180 --> 00:01:49,240 bréf eru alltaf 32 gildi hærri en bréf hástafi. 30 00:01:49,240 --> 00:01:53,490 Þannig að ef við viljum breyta frá lágstafir í hástafi, ætti það 31 00:01:53,490 --> 00:01:57,210 nægja, í raun, að draga 32 frá inntak notandans. 32 00:01:57,210 --> 00:02:01,330 Eða fleiri almennt, bara draga að Munurinn á milli lágstafir A og A 33 00:02:01,330 --> 00:02:02,310 höfuðborg A. 34 00:02:02,310 --> 00:02:03,410 >> Hvernig á að tjá það? 35 00:02:03,410 --> 00:02:04,640 Jæja, við skulum gera það í kóða. 36 00:02:04,640 --> 00:02:09,960 Printf, quote, unquote "% c" til að prenta Núverandi karakter, fylgt eftir með því að 37 00:02:09,960 --> 00:02:18,500 prentun hvað er í s krappi i mínus afleiðing af aðgerð lágstafir a 38 00:02:18,500 --> 00:02:22,660 mínus hástafi semíkommu. 39 00:02:22,660 --> 00:02:27,010 Með öðrum orðum, þessi parenthetical tjáningu, lítið mínus stór A, er 40 00:02:27,010 --> 00:02:29,360 að fara að koma aftur til okkar á í lok dags 32.. 41 00:02:29,360 --> 00:02:31,230 En ég þarf ekki að muna að það er 32. 42 00:02:31,230 --> 00:02:34,150 Ég get að leyfa tölvunni að reikna út hvað er munurinn lágstafir 43 00:02:34,150 --> 00:02:35,990 a og fjármagns A er. 44 00:02:35,990 --> 00:02:39,610 >> Á sama tíma, þegar ég veit að máli, Ég get draga það frá s 45 00:02:39,610 --> 00:02:43,710 krappi i, sem mun taka það sem er væntanlega lágstafir bréf til A 46 00:02:43,710 --> 00:02:48,100 lægra gildi, þ.e. gildi sem kort inná hástafi samsvarandi. 47 00:02:48,100 --> 00:02:51,240 Skulum nú spara, safna saman, og keyra þetta forrit. 48 00:02:51,240 --> 00:02:57,760 Gera nýta punktur skástrik eignar. 49 00:02:57,760 --> 00:03:01,290 Og inntak mitt verður halló. 50 00:03:01,290 --> 00:03:02,920 Og þar sem við höfum, halló. 51 00:03:02,920 --> 00:03:05,570 >> Nú hvetja minn, að vísu, er svolítið ljótt, því að við höfum 52 00:03:05,570 --> 00:03:07,810 sleppt einn hluti af prentun. 53 00:03:07,810 --> 00:03:09,370 Og við skulum fara aftur og bæta við að. 54 00:03:09,370 --> 00:03:12,890 Á mjög neðst á þessari áætlun, Ég er mjög einfaldlega, og að mestu leyti fyrir 55 00:03:12,890 --> 00:03:18,440 fagurfræðilegu tilgangi, að fara að bæta við printf, vitna, unquote sviga n. 56 00:03:18,440 --> 00:03:22,330 Skulum vistað póstinn þessari skrá, laun, endursýning. 57 00:03:22,330 --> 00:03:28,090 >> Gera nýta, punktur rista nyt. 58 00:03:28,090 --> 00:03:32,540 Aftur, fyrir hjálpina ég mun veita "halló" í öllum lágstöfum og nú högg á Enter, 59 00:03:32,540 --> 00:03:34,550 og "halló," miklu meira hreinlegur prentuð. 60 00:03:34,550 --> 00:03:36,432