1 00:00:00,000 --> 00:00:00,340 2 00:00:00,340 --> 00:00:02,690 >> ДЕВІД Малан: Припустимо, що ми хотіли б написати програма, яка пропонує користувачеві 3 00:00:02,690 --> 00:00:05,100 для рядка і прописну цей рядок. 4 00:00:05,100 --> 00:00:09,000 Ну, давайте почнемо з деяких знайомі Код оголошення рядок під назвою и і 5 00:00:09,000 --> 00:00:11,380 присвоєння йому повернення Значення GetString. 6 00:00:11,380 --> 00:00:14,910 І давайте тепер перейдемо до перебору персонажі в цьому рядку. 7 00:00:14,910 --> 00:00:16,000 Ну, як це зробити? 8 00:00:16,000 --> 00:00:19,350 Виходить, що рядок є просто послідовність символів, але більш 9 00:00:19,350 --> 00:00:23,320 правильно, рядок являє собою масив символів, а це значить, ми можемо використовувати 10 00:00:23,320 --> 00:00:27,590 площа позначення кронштейн як індексу в рядок і отримати на індивідуальному 11 00:00:27,590 --> 00:00:28,680 символів. 12 00:00:28,680 --> 00:00:30,980 >> Іншими словами, ми можемо виконайте наступні дії. 13 00:00:30,980 --> 00:00:36,730 Для внутр, я отримує 0, а п отримує, кажуть, довжину з, використовуючи 14 00:00:36,730 --> 00:00:37,530 наша функція [? перемішати?] 15 00:00:37,530 --> 00:00:38,630 [? Лінія,?] 16 00:00:38,630 --> 00:00:40,450 я менше п я + +. 17 00:00:40,450 --> 00:00:45,290 Іншими словами, з цієї петлі, ми буде перебрати всі російські літери 18 00:00:45,290 --> 00:00:46,670 в рядку с. 19 00:00:46,670 --> 00:00:51,680 І в цьому циклі, я збираюся перевірити, якщо я-й символ в с 20 00:00:51,680 --> 00:00:57,630 більше або дорівнює в нижній, і I-й символ менше або 21 00:00:57,630 --> 00:01:02,370 дорівнює рядкової с, то я хочу, щоб перейти до капіталізувати цей лист. 22 00:01:02,370 --> 00:01:08,030 Іншими словами, я хочу, щоб роздрукувати% о як заповнювач і заміну протягом 23 00:01:08,030 --> 00:01:11,120 местозаполнітелей з кронштейн я. 24 00:01:11,120 --> 00:01:14,390 >> Але тоді мені потрібно перетворити з кронштейн я у верхній регістр. 25 00:01:14,390 --> 00:01:18,930 Щоб зробити це, я можу просто відняти все, що різниця між 26 00:01:18,930 --> 00:01:24,120 в нижньому регістрі і капітал А. Ну, я насправді нагадати, що капітал є 27 00:01:24,120 --> 00:01:27,160 65 в ASCII, і для нижнього регістрів становить 97. 28 00:01:27,160 --> 00:01:29,210 Таким чином, різниця технічно 32. 29 00:01:29,210 --> 00:01:31,620 Так що я міг би просто жорсткий код 32 тут. 30 00:01:31,620 --> 00:01:33,870 Але я міг би не обов'язково пам'ятаю ці цифри. 31 00:01:33,870 --> 00:01:37,250 >> І більше того, що, якщо вони варіюватися залежно від комп'ютера? 32 00:01:37,250 --> 00:01:38,520 Швидше за все це не так. 33 00:01:38,520 --> 00:01:42,460 Але справа залишається, що я можу ще узагальнити, що арифметичний вираз 34 00:01:42,460 --> 00:01:46,550 як тільки те, що різниця між рядкової а й великої літери 35 00:01:46,550 --> 00:01:50,880 це те, що я хочу, щоб відняти від від саме цей рядкова буква. 36 00:01:50,880 --> 00:01:54,500 >> Тепер, якщо це зокрема лист НЕ нижній регістр, я просто 37 00:01:54,500 --> 00:01:56,620 хочете роздрукувати його. 38 00:01:56,620 --> 00:02:01,110 Е,% з як мій заповнювача, з кронштейн я. 39 00:02:01,110 --> 00:02:05,150 У нижній частині цієї програми, давайте просто роздрукувати нового рядка, так що мій 40 00:02:05,150 --> 00:02:07,520 з'явиться запрошення на новий лінія по собі. 41 00:02:07,520 --> 00:02:11,540 >> Давайте тепер компіляції цієї програми з макіяжем capitalize0. 42 00:02:11,540 --> 00:02:13,900 Давайте запустимо його з capitalize0. 43 00:02:13,900 --> 00:02:17,190 І давайте ввести слово, як привіт в нижньому регістрі. 44 00:02:17,190 --> 00:02:19,960 Я повернуся ПРИВІТ у верхньому регістрі як і очікувалося. 45 00:02:19,960 --> 00:02:25,210 Але давайте спробуємо ще один тест, на цей раз з моїм власним ім'ям, D-А-В-І-Д, але з 46 00:02:25,210 --> 00:02:28,170 перший D капіталізуються, тільки в випадок я зіпсував щось 47 00:02:28,170 --> 00:02:29,430 з цим перший символ. 48 00:02:29,430 --> 00:02:34,250 Введіть і D-А-В-І-Д у верхньому регістрі друкується також. 49 00:02:34,250 --> 00:02:36,873