>> ДЕВІД Малан: Припустимо, що ми хотіли б написати програма, яка пропонує користувачеві
для рядка і прописну цей рядок.
Ну, давайте почнемо з деяких знайомі Код оголошення рядок під назвою и і
присвоєння йому повернення Значення GetString.
І давайте тепер перейдемо до перебору персонажі в цьому рядку.
Ну, як це зробити?
Виходить, що рядок є просто послідовність символів, але більш
правильно, рядок являє собою масив символів, а це значить, ми можемо використовувати
площа позначення кронштейн як індексу в рядок і отримати на індивідуальному
символів.
>> Іншими словами, ми можемо виконайте наступні дії.
Для внутр, я отримує 0, а п отримує, кажуть, довжину з, використовуючи
наша функція [? перемішати?]
[? Лінія,?]
я менше п я + +.
Іншими словами, з цієї петлі, ми буде перебрати всі російські літери
в рядку с.
І в цьому циклі, я збираюся перевірити, якщо я-й символ в с
більше або дорівнює в нижній, і I-й символ менше або
дорівнює рядкової с, то я хочу, щоб перейти до капіталізувати цей лист.
Іншими словами, я хочу, щоб роздрукувати% о як заповнювач і заміну протягом
местозаполнітелей з кронштейн я.
>> Але тоді мені потрібно перетворити з кронштейн я у верхній регістр.
Щоб зробити це, я можу просто відняти все, що різниця між
в нижньому регістрі і капітал А. Ну, я насправді нагадати, що капітал є
65 в ASCII, і для нижнього регістрів становить 97.
Таким чином, різниця технічно 32.
Так що я міг би просто жорсткий код 32 тут.
Але я міг би не обов'язково пам'ятаю ці цифри.
>> І більше того, що, якщо вони варіюватися залежно від комп'ютера?
Швидше за все це не так.
Але справа залишається, що я можу ще узагальнити, що арифметичний вираз
як тільки те, що різниця між рядкової а й великої літери
це те, що я хочу, щоб відняти від від саме цей рядкова буква.
>> Тепер, якщо це зокрема лист НЕ нижній регістр, я просто
хочете роздрукувати його.
Е,% з як мій заповнювача, з кронштейн я.
У нижній частині цієї програми, давайте просто роздрукувати нового рядка, так що мій
з'явиться запрошення на новий лінія по собі.
>> Давайте тепер компіляції цієї програми з макіяжем capitalize0.
Давайте запустимо його з capitalize0.
І давайте ввести слово, як привіт в нижньому регістрі.
Я повернуся ПРИВІТ у верхньому регістрі як і очікувалося.
Але давайте спробуємо ще один тест, на цей раз з моїм власним ім'ям, D-А-В-І-Д, але з
перший D капіталізуються, тільки в випадок я зіпсував щось
з цим перший символ.
Введіть і D-А-В-І-Д у верхньому регістрі друкується також.