1 00:00:00,000 --> 00:00:00,720 2 00:00:00,720 --> 00:00:03,190 >> Дэвід Дж. Малан: Выкажам здагадку, што я хацеў бы рэалізаваць праграму, якая запытвае 3 00:00:03,190 --> 00:00:06,650 карыстальнік на радок, а затым пераходзіць капіталізаваць свой уклад, 4 00:00:06,650 --> 00:00:09,790 пераўтварэнні любых малых літар што яны друкуюць у верхні рэгістр. 5 00:00:09,790 --> 00:00:11,770 Ну, давайце ісці наперад і рэалізаваць гэтую праграму. 6 00:00:11,770 --> 00:00:18,760 >> Давайце спачатку ўключаюць cs50.h затым па ўключаюць stdio.h. 7 00:00:18,760 --> 00:00:23,990 І так, што мы можам выкарыстоўваць STRLEN, давайце ўключым string.h. 8 00:00:23,990 --> 00:00:29,860 >> Давайце наступны абвясціць галоўны якасці дзесятковага галоўны пустэчу і давайце зараз пяройдзем да падкажуць 9 00:00:29,860 --> 00:00:31,600 карыстальнік для радка. 10 00:00:31,600 --> 00:00:34,840 Printf, давайце заахвоціць іх для некаторых ўваходных сігналаў. 11 00:00:34,840 --> 00:00:36,460 Зараз давайце абвясціць радок - 12 00:00:36,460 --> 00:00:37,630 мы будзем называць гэта з - 13 00:00:37,630 --> 00:00:44,010 і захоўваць у ім вынік выкліку бібліятэка CS50 функцыя GetString. 14 00:00:44,010 --> 00:00:48,850 >> Зараз зоймемся перабраць кожны з персанажаў з, З капіталізацыяй 15 00:00:48,850 --> 00:00:50,650 любыя малыя літары, якія мы бачым. 16 00:00:50,650 --> 00:00:53,630 Для унутр, я атрымліваю 0. 17 00:00:53,630 --> 00:00:58,780 Давайце таксама абвясціць п як роўная даўжыня радка з тым каб мы маглі 18 00:00:58,780 --> 00:01:03,590 ня перабраць з I аж да п, Даўжыня з, і на кожным 19 00:01:03,590 --> 00:01:05,760 Крок ітэрацыі я. 20 00:01:05,760 --> 00:01:09,970 >> А потым ўнутры гэтай завесы, давайце Першая праверка бягучы ліст - 21 00:01:09,970 --> 00:01:12,270 г-я літара з, так бы мовіць - 22 00:01:12,270 --> 00:01:14,170 маленькая літара. 23 00:01:14,170 --> 00:01:23,090 Калі з кранштэйны я больш або роўная у ніжні рэгістр, і гэта менш, 24 00:01:23,090 --> 00:01:26,900 або роўна маленькай г - 25 00:01:26,900 --> 00:01:30,860 Цяпер, калі мы хочам пераўтварыць у ніжні рэгістр Ліст у верхні рэгістр, нагадаем спачатку, што 26 00:01:30,860 --> 00:01:35,810 у ASCII малыя 97 і ў верхнім рэгістры 65. 27 00:01:35,810 --> 00:01:41,020 Між тым, у ніжнім рэгістры б 98, і ў верхнім рэгістры B 66. 28 00:01:41,020 --> 00:01:44,180 >> Калі мы будзем працягваць глядзець на гэтай мадэлі, мы ўбачым, што ў ніжнім рэгістры 29 00:01:44,180 --> 00:01:49,240 лісты заўсёды 32 значэння вышэй чым загалоўнымі літарамі. 30 00:01:49,240 --> 00:01:53,490 Так што калі мы хочам канвертаваць з ніжняга рэгістра ў верхні рэгістр, ён павінен 31 00:01:53,490 --> 00:01:57,210 хапае, сапраўды, адняць 32 з карыстацкага ўводу. 32 00:01:57,210 --> 00:02:01,330 Ці ў больш агульным, проста адняць, што Розніца паміж маленькай а і а 33 00:02:01,330 --> 00:02:02,310 капітал А. 34 00:02:02,310 --> 00:02:03,410 >> Як выказаць гэта? 35 00:02:03,410 --> 00:02:04,640 Ну, давайце зробім гэта ў кодзе. 36 00:02:04,640 --> 00:02:09,960 Printf, цытую, канец цытаты "% З" для друку бягучы сімвал, а затым 37 00:02:09,960 --> 00:02:18,500 друк усё гэта ў ы кранштэйна Я мінус вынік таго, у ніжнім рэгістры A 38 00:02:18,500 --> 00:02:22,660 мінус верхні рэгістр з коскі. 39 00:02:22,660 --> 00:02:27,010 Іншымі словамі, гэты дужках выраз, трохі мінус вялікі, гэта 40 00:02:27,010 --> 00:02:29,360 збіраецца вярнуцца да нас у канец дзень 32. 41 00:02:29,360 --> 00:02:31,230 Але ў мяне няма, каб памятаць што гэта 32. 42 00:02:31,230 --> 00:02:34,150 Я магу дазволіць кампутар, каб высветліць, у чым розніца паміж малымі літарамі 43 00:02:34,150 --> 00:02:35,990 і капіталу з'яўляецца. 44 00:02:35,990 --> 00:02:39,610 >> Між тым, як толькі я ведаю, што розніца, Я магу адняць яго з з 45 00:02:39,610 --> 00:02:43,710 Кранштэйны я, які адбудзецца ў чым меркавана маленькая літара ў 46 00:02:43,710 --> 00:02:48,100 Меншае значэнне, а менавіта значэнне, карты на загалоўнай эквіваленце. 47 00:02:48,100 --> 00:02:51,240 Давайце зараз захаваць, скампіляваць, і запусціць гэтую праграму. 48 00:02:51,240 --> 00:02:57,760 Зрабіць выгаду кропка слэш капитализируются. 49 00:02:57,760 --> 00:03:01,290 І мой ўклад будзе прывітанне. 50 00:03:01,290 --> 00:03:02,920 І там у нас ёсць, прывітанне. 51 00:03:02,920 --> 00:03:05,570 >> Цяпер мой запыт, па агульным прызнанні, з'яўляецца трохі выродлівыя, таму што мы 52 00:03:05,570 --> 00:03:07,810 апушчаны адзін біт друку. 53 00:03:07,810 --> 00:03:09,370 І давайце вернемся і дадаць, што. 54 00:03:09,370 --> 00:03:12,890 У самым нізе гэтай праграмы, Я вельмі проста, і ў значнай ступені для 55 00:03:12,890 --> 00:03:18,440 эстэтычнае прызначэнне, збіраюся дадаць Printf, цытата, канец цытаты зваротны слеш н. 56 00:03:18,440 --> 00:03:22,330 Давайце захаваеце гэты файл, перакампіляваць, паўтор. 57 00:03:22,330 --> 00:03:28,090 >> Зрабіць выгаду, кропка слэш выгаду. 58 00:03:28,090 --> 00:03:32,540 Зноў жа, для ўводу я прывяду "прывітанне" у ніжнім рэгістры і цяпер націсніце Увод, 59 00:03:32,540 --> 00:03:34,550 і "прывітанне", значна больш акуратна надрукаваны. 60 00:03:34,550 --> 00:03:36,432