Введення в std
Оскільки їх часто використовують в програмах, більшість сучасних мов програмування мають вбудований тип даних string. У C ++ є свій, але не як частина основного мови, а як частина стандартної бібліотеки.
std :: string
Щоб мати можливість використовувати рядки в C ++, спочатку потрібно підключити заголовний файл
Результати пробного запуску цієї програми:
Enter your full name: Sasha Mak
Enter your age: Your name is Sasha and your age is Mak
Хм, це неправильно! Що ж трапилося? Виявляється, оператор >> вилучення рядка з cin повертає символи тільки до першого пробілу. Будь-які інші символи залишаються всередині cin, очікуючи наступного вилучення.
Тому, коли ми використовували оператор >> для вилучення рядка в змінну myName, тільки «Sasha» був витягнутий, «Mak» залишилося всередині std :: cin, очікуючи наступного вилучення. Коли ми використовували оператор >> знову, щоб витягти рядок в змінну myAge, ми отримали «Mak» замість «25». Якби ми зробити третій витяг, ми б отримали «25».
Використання std :: getline () для введення тексту
Щоб витягти повну рядок введення - краще використовувати функцію std :: getline (). Вона приймає два параметри: перший - std :: cin, другий - змінна string.
Ось та ж програма, що вище, але вже з використанням std :: getline ():
Sasha has 5 characters
Зверніть увагу, замість запиту довжини рядка як length (myName). ми пишемо myName.length ().
Функція запиту довжини рядка не є звичайною функцією, як ті, які ми використовували до цього моменту - це особливий тип функції std :: string, який називається функцією-членом. Ми розглянемо цей тип функцій і те, як створювати власні функції-члени, більш детально в наступних уроках.
Напишіть програму, яка запитує у користувача його ім'я-прізвище та вік. В результаті також вкажіть користувачеві, скільки років він прожив з кожної букви свого ім'я-прізвище (щоб було простіше, прогалини теж вважаються буквами).
Enter your full name: John Doe
Enter your age: 46
You've lived 5.75 years for each letter in your name.
Уточнення: Тобто, якщо вік 46, а ім'я «John Doe» (8 букв разом з пропуском), то 46 ділимо на 8. Отримуємо 5.75.
ТОП СТАТТІ
- Урок 1. Введення в програмування
- Яку мову програмування навчав перших? Як заробити?
- Кращі паблік Вк для програмістів
- Словник програміста. Сленг, який повинен знати кожен кодер
- Що робити після установки Windows? встановлюємо програми
- Як навчитися сліпому набору на клавіатурі?
- Контакти