Дэвід Дж. Малан: Выкажам здагадку, што я хацеў бы рэалізаваць праграму, якая запытвае карыстальнік на радок, а затым пераходзіць капіталізаваць свой уклад, пераўтварэнні любых малых літар што яны друкуюць у верхні рэгістр. Ну, давайце ісці наперад і рэалізаваць гэтую праграму. Давайце спачатку ўключаюць cs50.h затым па ўключаюць stdio.h. І так, што мы можам выкарыстоўваць STRLEN, давайце ўключым string.h. Давайце наступны абвясціць галоўны якасці дзесятковага галоўны пустэчу і давайце зараз пяройдзем да падкажуць карыстальнік для радка. Printf, давайце заахвоціць іх для некаторых ўваходных сігналаў. Зараз давайце абвясціць радок - мы будзем называць гэта з - і захоўваць у ім вынік выкліку бібліятэка CS50 функцыя GetString. Зараз зоймемся перабраць кожны з персанажаў з, З капіталізацыяй любыя малыя літары, якія мы бачым. Для унутр, я атрымліваю 0. Давайце таксама абвясціць п як роўная даўжыня радка з тым каб мы маглі ня перабраць з I аж да п, Даўжыня з, і на кожным Крок ітэрацыі я. А потым ўнутры гэтай завесы, давайце Першая праверка бягучы ліст - г-я літара з, так бы мовіць - маленькая літара. Калі з кранштэйны я больш або роўная у ніжні рэгістр, і гэта менш, або роўна маленькай г - Цяпер, калі мы хочам пераўтварыць у ніжні рэгістр Ліст у верхні рэгістр, нагадаем спачатку, што у ASCII малыя 97 і ў верхнім рэгістры 65. Між тым, у ніжнім рэгістры б 98, і ў верхнім рэгістры B 66. Калі мы будзем працягваць глядзець на гэтай мадэлі, мы ўбачым, што ў ніжнім рэгістры лісты заўсёды 32 значэння вышэй чым загалоўнымі літарамі. Так што калі мы хочам канвертаваць з ніжняга рэгістра ў верхні рэгістр, ён павінен хапае, сапраўды, адняць 32 з карыстацкага ўводу. Ці ў больш агульным, проста адняць, што Розніца паміж маленькай а і а капітал А. Як выказаць гэта? Ну, давайце зробім гэта ў кодзе. Printf, цытую, канец цытаты "% З" для друку бягучы сімвал, а затым друк усё гэта ў ы кранштэйна Я мінус вынік таго, у ніжнім рэгістры A мінус верхні рэгістр з коскі. Іншымі словамі, гэты дужках выраз, трохі мінус вялікі, гэта збіраецца вярнуцца да нас у канец дзень 32. Але ў мяне няма, каб памятаць што гэта 32. Я магу дазволіць кампутар, каб высветліць, у чым розніца паміж малымі літарамі і капіталу з'яўляецца. Між тым, як толькі я ведаю, што розніца, Я магу адняць яго з з Кранштэйны я, які адбудзецца ў чым меркавана маленькая літара ў Меншае значэнне, а менавіта значэнне, карты на загалоўнай эквіваленце. Давайце зараз захаваць, скампіляваць, і запусціць гэтую праграму. Зрабіць выгаду кропка слэш капитализируются. І мой ўклад будзе прывітанне. І там у нас ёсць, прывітанне. Цяпер мой запыт, па агульным прызнанні, з'яўляецца трохі выродлівыя, таму што мы апушчаны адзін біт друку. І давайце вернемся і дадаць, што. У самым нізе гэтай праграмы, Я вельмі проста, і ў значнай ступені для эстэтычнае прызначэнне, збіраюся дадаць Printf, цытата, канец цытаты зваротны слеш н. Давайце захаваеце гэты файл, перакампіляваць, паўтор. Зрабіць выгаду, кропка слэш выгаду. Зноў жа, для ўводу я прывяду "прывітанне" у ніжнім рэгістры і цяпер націсніце Увод, і "прывітанне", значна больш акуратна надрукаваны.