1 00:00:00,000 --> 00:00:00,720 2 00:00:00,720 --> 00:00:03,190 >> DAVID J. Malan: Да предположим, че бих искал за изпълнение на програма, която подканва 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 >> Нека следващия декларира главната като Int основната нищожен и нека сега да пристъпи към подкани 9 00:00:29,860 --> 00:00:31,600 потребителя за низ. 10 00:00:31,600 --> 00:00:34,840 ФОРМАТ, нека да ги подтикне за някои вход. 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 и се съхранява в него, в резултат на разговори функцията GetString CS50 библиотека. 14 00:00:44,010 --> 00:00:48,850 >> Нека сега да пристъпи към обхождане на всеки от героите в S, капитализиране 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 до този ñ, дължина на S, и на всеки 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 на аз-ти писмото на S, така да се каже - 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 от или равна на малки Z - 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 капитал A. 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 ФОРМАТ, цитирам, край на цитата "% C" за печат текущия символ, последвано от 37 00:02:09,960 --> 00:02:18,500 печат каквото е в S скоба и минус в резултат на това по-малки букви 38 00:02:18,500 --> 00:02:22,660 минус главни букви A и запетая. 39 00:02:22,660 --> 00:02:27,010 С други думи, това вмъкнат изразяване, малко по-голям минус A, е 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 >> Междувременно, след като знам, че тази разлика, Мога да го изваждате от S 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 естетическа цел, ще добавим ФОРМАТ, цитат, край на цитата наклонена черта п. 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 Отново, за вход ще осигури "здравей" във всички малки букви, а сега удари Enter, 59 00:03:32,540 --> 00:03:34,550 и "здравей", много по-чисто отпечатани. 60 00:03:34,550 --> 00:03:36,432