1 00:00:00,000 --> 00:00:00,720 2 00:00:00,720 --> 00:00:03,190 >> DAVID J. Malan: Dajme tomu, že by som chcel realizovať program, ktorý vyzve 3 00:00:03,190 --> 00:00:06,650 používateľ na reťazec a potom pokračuje využiť ich prínos, 4 00:00:06,650 --> 00:00:09,790 Prevod akékoľvek malé písmená že typ na veľké písmená. 5 00:00:09,790 --> 00:00:11,770 Dobre, poďme do toho a vykonávanie tohto programu. 6 00:00:11,770 --> 00:00:18,760 >> Poďme si najprv sú následne cs50.h ktoré zahŕňajú stdio.h. 7 00:00:18,760 --> 00:00:23,990 A tak, že môžeme použiť strlen, poďme patrí string.h. 8 00:00:23,990 --> 00:00:29,860 >> Poďme ďalšie deklarovať hlavné ako int main prázdno a poďme teraz pokračovať na výzvu 9 00:00:29,860 --> 00:00:31,600 užívateľ na povrázku. 10 00:00:31,600 --> 00:00:34,840 Printf, poďme vyzve ich pre nejaký vstup. 11 00:00:34,840 --> 00:00:36,460 Teraz poďme deklarovať reťazec - 12 00:00:36,460 --> 00:00:37,630 zavoláme je to - 13 00:00:37,630 --> 00:00:44,010 a uložiť do nej výsledky volania CS50 knižnica funkcie GetString. 14 00:00:44,010 --> 00:00:48,850 >> Poďme sa teraz pristúpiť k iterácii každý z charakterov v s, zarábať 15 00:00:48,850 --> 00:00:50,650 nejaké malé písmená, ktoré vidíme. 16 00:00:50,650 --> 00:00:53,630 Pre int, aj sa 0. 17 00:00:53,630 --> 00:00:58,780 Poďme sa tiež vyhlásiť n ako je rovná dĺžka reťazca s, takže môžeme 18 00:00:58,780 --> 00:01:03,590 iterovat od i až do n, dĺžka S, a na každom 19 00:01:03,590 --> 00:01:05,760 iterácie prírastok i 20 00:01:05,760 --> 00:01:09,970 >> A potom sa vnútri tejto slučky, poďme Prvá kontrola je aktuálne písmeno - 21 00:01:09,970 --> 00:01:12,270 i-tý písmeno s, aby som tak povedal - 22 00:01:12,270 --> 00:01:14,170 malé písmeno. 23 00:01:14,170 --> 00:01:23,090 Je-li s konzola aj je väčší alebo rovné na malé písmená, a to je menej 24 00:01:23,090 --> 00:01:26,900 ako alebo rovnajúcu sa malým Z - 25 00:01:26,900 --> 00:01:30,860 Teraz, ak chceme previesť na malé písmená List na veľké písmená, pripomenúť po prvé, že 26 00:01:30,860 --> 00:01:35,810 v ASCII malá 97 a veľká 65. 27 00:01:35,810 --> 00:01:41,020 Medzitým, malými písmenami b je 98, a veľké písmená B je 66. 28 00:01:41,020 --> 00:01:44,180 >> Ak budeme aj naďalej hľadať v tejto štruktúre, uvidíme, že malá 29 00:01:44,180 --> 00:01:49,240 písmená sú vždy 32 vyšších hodnôt ako veľké písmená. 30 00:01:49,240 --> 00:01:53,490 Takže ak chceme previesť z malých písmen na veľké písmená, by mal 31 00:01:53,490 --> 00:01:57,210 stačí, naozaj, odpočítať 32 od vstupu používateľa. 32 00:01:57,210 --> 00:02:01,330 Alebo všeobecnejšie, len odpočítať, že Rozdiel medzi malými písmenami A a A 33 00:02:01,330 --> 00:02:02,310 kapitál A. 34 00:02:02,310 --> 00:02:03,410 >> Ako vyjadriť, že? 35 00:02:03,410 --> 00:02:04,640 Dobre, poďme to urobiť v kóde. 36 00:02:04,640 --> 00:02:09,960 Printf, citácie, koniec citátu "% c" k tlači aktuálny znak, nasledovaný 37 00:02:09,960 --> 00:02:18,500 tlač bez ohľadu na to v s držiakom aj mínus Výsledkom robí malé písmená A 38 00:02:18,500 --> 00:02:22,660 mínus veľké písmená A bodkočiarku. 39 00:02:22,660 --> 00:02:27,010 Inými slovami, tento zátvorkách výraz, trochu mínus veľký, je 40 00:02:27,010 --> 00:02:29,360 chystá sa vrátiť k nám na koniec dňa 32.. 41 00:02:29,360 --> 00:02:31,230 Ale ja nemusím pamätať že je to 32. 42 00:02:31,230 --> 00:02:34,150 Nemôžem dovoliť počítač prísť na to, , Aký je rozdiel medzi malými písmenami 43 00:02:34,150 --> 00:02:35,990 a kapitálu je. 44 00:02:35,990 --> 00:02:39,610 >> Medzitým, keď som vedieť, že rozdiel, Aj to môže odpočítať od s 45 00:02:39,610 --> 00:02:43,710 držiak i, ktorý bude mať to, čo je pravdepodobne malé písmeno na 46 00:02:43,710 --> 00:02:48,100 nižšia hodnota, a to hodnota, ktorá mapuje na s veľkým ekvivalent. 47 00:02:48,100 --> 00:02:51,240 Poďme teraz uložiť, skompilovať, a spustiť tento program. 48 00:02:51,240 --> 00:02:57,760 Uistite sa zarábať bodka lomítko aktivované. 49 00:02:57,760 --> 00:03:01,290 A môj vstup bude ahoj. 50 00:03:01,290 --> 00:03:02,920 A tu to máme, ahoj. 51 00:03:02,920 --> 00:03:05,570 >> Teraz moja výzva, pravda, je trochu škaredá, pretože máme 52 00:03:05,570 --> 00:03:07,810 vynechať jeden bit tlače. 53 00:03:07,810 --> 00:03:09,370 A vráťme sa a dodáva, že. 54 00:03:09,370 --> 00:03:12,890 Na samom konci tohto programu, Som veľmi jednoducho, a do značnej miery na 55 00:03:12,890 --> 00:03:18,440 estetický účel, pridáme printf, citácie, koniec citátu spätné lomítko n 56 00:03:18,440 --> 00:03:22,330 Poďme znovu uložiť tento súbor, prekompilovať, opakovanie. 57 00:03:22,330 --> 00:03:28,090 >> Uistite sa zarábať, bodka lomítko zarobiť. 58 00:03:28,090 --> 00:03:32,540 Opäť platí, že pre vstup budem poskytovať "ahoj" vo všetkých malými písmenami a teraz stlačte klávesu Enter, 59 00:03:32,540 --> 00:03:34,550 a "ahoj", oveľa čistejšie vytlačiť. 60 00:03:34,550 --> 00:03:36,432