Основи програмування на С ++ для початківців

бібліотека iostream. Основні операції

iostream бібліотека, який клас, клас витрат, методи класу cout,  методи класу cin,  boolalpha, науковий, запис, getline, getмодуль (або як кажуть у випадку з Сі – заголовок) або заголовки iostream покликаний надати кошти введення-виведення, для стандартної консолі. Тобто,. те, що вводить з клавіатури і читає з екрану користувач.

Всі його можливості розміщені в просторі імен std, тому для його використання або доводиться приписувати префікс std, або вказувати простір імен через використовуючи простір імен

або

У цій статті будемо використовувати перший варіант – підключення простору імен через використовуючи простір імен.

iostream містить два основні класи:

  • cin – для обробки введення з клавіатури;
  • cout – для виведення в консоль змінних або просто тексту;

Є ще класи Palau і засмічення, але їх в цілому, використовують не так часто, і про них ми згадувати не будемо. Якщо кому цікаво – ці класи використовують для виведення помилок при операціях і для логування дій.

відразу скажу, що не все, що притаманне цим класам буде описано. Тільки саме часто використовується з функціоналу. Це оператори перенаправлення форматированного виведення (<< і >>), які займаються виведенням значень змінних в залежності від їх типів і зазначеного формату. Це оператори неформатированного читання запису (читай: ноги мого будинку або posimvolьno), методи get(), ставити() і запис() покликані просто вивести масив символів якими б вони не були. І оператори форматування SETF(), ширина(), точність(), які вказують для поточного виведення, як форматувати виведене, як вирівнювати його, по якій стороні і скільки ставити символів після коми.

клас cin

клас cin містить безліч методів. Всі їх можна побачити, якщо ввести в середовищі розробки ключове слово cin і поставити після нього точку. Редактор коду запропонує всі наявні методи цього класу на вибір:

iostream бібліотека, який клас, клас витрат, cin.get

Як сказано вище, для початківців програмістів, ми розглянемо тільки деякі з них.

клас cin заснований на класі IStream, і містить можливість перенаправлення вводу. Використовуючи перевантаження оператора >> , клас дозволяє вказати в яку змінну буде проводитися введення даних.

Перераховані в прикладі змінні отримують (зчитують) свої дані відповідно до своїх позиціях в операції. В даному прикладі спочатку зчитується речовий в d, потім ціле в i, і потім строкова змінна. Це потрібно обов'язково враховувати – неправильна послідовність змінних може дати або помилку введення, або змінні можуть отримати дані їм не призначаються.

При зчитуванні рядки потрібно пам'ятати, що якщо при в ній зустрінеться пробіл, зчитування завершиться (в операційній системі прийнято параметри відокремлювати пробілами). Так зручно розбивати рядок на слова. Проілюструвати це можна таким прикладом:

iostream бібліотека, який клас, клас витрат, cin.get

З особистого досвіду я не рекомендую застосовувати саме такий метод розподілу рядки на слова, але знати про це корисно.

Якщо потрібно вважати рядок цілком до перенесення каретки, варто використовувати розглянутий нижче метод getline().

метод get()

Дозволяє ввести символ або рядок. При введенні стоки підтримує роздільник, зазначений програмістом, до якого буде читатися рядок. За замовчуванням варто символ перекладу рядка ' П' Тобто метод get() чекає натискання клавіші Ентер. Тільки потім обробляє прочитуване.

При введенні символу в числову змінну, метод повертає код цього символу:

cin.get() часто ставлять в кінці програми, щоб затримати консоль з результатами:

У класичному Сі популярним аналогом є функція GetChar() для такої затримки.

Щоб зробити за допомогою цього методу введення рядка, досить передати в його параметри покажчик на масив символів, куди буде проводитися запис, і кількість символів, яке очікується для введення.

схема проста: Передаємо покажчик на масив символів, передаємо кількість зчитуваного, і після натискання клавіші Ентер, cin.get() вважає в цей масив задану кількість символів. Решта символів вважається не будуть, тому щоб звільнити від них буфер введення можна викликати метод ігнорувати().

Якщо вказати третім параметром символ-роздільник, cin.get() буде зчитувати або скільки замовлено символів, або поки cin не зустріне цей символ:

тут в s рядок зчитуються символи аж до першого пробілу. Якщо прогалин не виявиться – зчитуватися буде або до натискання Ентер або до n-е мають багато символів.

метод getline()

аналогічний методу get(). Крім усього, що “вміє” get(), перевизначений для рядків типу string. Так само як і get() вміє зчитувати до символу, вказаного як роздільник, так само перший параметр масив символів, а другим кількість символів для зчитування.

Використання його перевизначення версії в хедері string виглядає так:

вартість Клас

клас cout передбачає виведення даних в консоль. базовий клас ostream. основний оператор – перевантажений << він вказує, яку змінну виводити в консоль.

Правила послідовності ті ж, що в cin – висновок зліва направо.

Для перекладу каретки на новий рядок рекомендується використовувати оператор endl. Або передавати старий добрий ' П’

метод ставити() виводить символ в консоль:

Виведе один символ.

метод запис() виведе блок символів з масиву символів, переданий йому в якості покажчика

В принципі, в запис() можна передавати покажчик на будь-який блок пам'яті, але для виведення в консоль характерні тільки масиви читаються, зрозумілих людині символів.

iostream бібліотека, який клас, клас витрат, cout.write

метод ширина() задає ширину виведеного, якщо необхідно вирівняти до певної кількості символів. Як правило застосовується при побудові таблиць. типовий приклад: Висновок таблиці обчислення формули (приклад нижче).

метод точність() вказує скільки цифр буде в дробової частини, якщо виводиться речова змінна.

метод SETF() визначає, як буде вирівнюватися (вліво, вправо, по центру) виведене, і в якому форматі вона буде.

Комплексний приклад цих методів можна побачити в завданні побудови таблиці параболи:

iostream бібліотека, який клас, клас витрат, методи класу cout

16-тиричном уявлення рядки можна вивести, например, ось так :

iostream бібліотека, який клас, клас витрат, методи класу cout, основне поле

А так науковий формат уявлення речового:

науковий, iostream бібліотека, який клас, клас витрат, методи класу cout

Можна задати формат виведення булевских змінних:

iostream бібліотека, який клас, клас витрат, методи класу cout, boolalpha

Попрацюйте з методами цих класів самостійно. Постарайтесь понять, що робить кожен з них. Така самостійна практика буде вам дуже корисна.

Нові уроки з програмування:


Згоден отримувати повідомлення від purecodecpp.com на мій e-mail

Одна думка про "бібліотека iostream. Основні операції

  1. метод ігнорувати().
    І оператори форматування SETF(), ширина(), точність(),
    і так далі. Що за переклад?

залишити коментар

Ваша електронна адреса не буде опублікований. Обов'язкові поля позначені * *