Уроки по с, урок з

Урок З. Висновок повідомлень на екран

Всі програми на C ++, створені вами в уроках 1 і 2, використовували вихідний потік cout для виведення повідомлень на екран. У цьому уроці ви будете використовувати cout для виведення символів, цілих чисел, наприклад 1001, і чисел з плаваючою точкою, наприклад 0.12345. До кінця цього уроку ви освоїте наступні основні концепції:

  • Для виведення символів і чисел на екран ви можете використовувати вихідний потік cout.
  • У C ++ можна використовувати з cout спеціальні символи для виведення табуляції або нового рядка і навіть для відтворення звуку на вашому комп'ютері.
  • У C ++ можна легко відображати числа в десятковому, вісімковому (по підставі 8) або шістнадцятковому (по підставі 16) форматі.
  • Використовуючи в командному рядку операційної системи оператори перепризначення, ви можете перенаправити вихідні повідомлення своєї програми, що посилаються в cout, з екрану в файл або на принтер.
  • Використовуючи вихідний потік cerr, ваші програми можуть надсилати повідомлення на стандартний пристрій помилок, позбавляючи користувачів від необхідності перепризначення повідомлень.
  • Ви можете форматувати висновок вашої програми, використовуючи модифікатор setw всередині вихідного потоку.

Майже всі створювані вами програми на C ++ використовують cout для виведення повідомлень на екран. З цього уроку ви дізнаєтеся, як краще використовувати сом /.

ВИКОРИСТАННЯ cout ДЛЯ ВИВЕДЕННЯ ЧИСЕЛ

До сих пір створені вами програми використовували сом / для виведення символьних рядків (букв і чисел, узятих в лапки). Тепер ви дізнаєтеся, що сом / можна також використовувати для виведення чисел. Наступна програма 1001.СРР виводить число 1001 Перейти ваш екран:

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

З: \> 1001

Крім відображення цілих чисел (чисел без десяткового дробу), сом / також дозволяє вашим програмам відображати числа з плаваючою точкою, наприклад 1.2345. Наступна програма FLOATING.CPP використовує сом / для виведення числа 0.12345 на екран:

Як і раніше, відкомпілюйте і запустіть цю програму. На вашому екрані з'явиться наступний висновок:

З: \> FLOATING

ВИСНОВОК КІЛЬКОХ ЗНАЧЕНЬ ОДНОЧАСНО

Як ви вже знаєте, подвійний знак "менше" є операцією вставки (ця операція вставляє символи в вихідний потік для відображення). За допомогою cout ви можете використовувати кілька операцій вставки в межах одного оператора. Наприклад, наступна програма 1001ТОО.СРР використовує цю операцію чотири рази для відображення числа 1001 Перейти вашому екрані:

Коли ви откомпіліруете і запустіть цю програму, на вашому екрані з'явиться наступне:

З: \> 1001TOO

Кожен раз, коли в C ++ зустрічається операція вставки, число або символи просто додаються до тих, що знаходяться в даний час в вихідному потоці. Наступна програма SHOW1001.CPP за допомогою cout виводить символьний рядок і число:

<
cout <<"Мое любимое число равно " <<1001;
>

Зверніть увагу, що пробіл, наступний за словом одно (всередині лапок), служить для відділення числа 1001 від цього слова. Без пропуску число зливається з наступним словом (рівною 1001). Подібним чином наступна програма 1001MID.CPP відображає число 1001 в середині символьного рядка:

<
cout <<"Число " <<1001 <<" мне очень нравится";
>

Як і раніше, зверніть увагу на розстановку пробілів до і після числа 1001.

Нарешті, наступна програма MIXMATCH.CPP комбінує рядки, символи, цілі числа і числа з плаваючою крапкою всередині одного і того ж вихідного потоку:

<
cout <<"B " <<20 <<" лет мой оклад был " <<493.34 <>

Коли ви откомпіліруете і запустіть цю програму, на вашому екрані з'явиться наступний висновок:

З: \> MIXMATCH

У 20 років мій оклад був 493.34

ВИКОРИСТАННЯ СПЕЦІАЛЬНИХ СИМВОЛІВ ВИВЕДЕННЯ

Якщо необхідно перемістити курсор в початок наступного рядка, можна помістити символ нового рядка (\ n) в вихідний потік. У C ++ вам надається два різні способи генерації нового рядка. По-перше, ви можете помістити символи \ n всередині символьного рядка. Наприклад, наступна програма TWOLINES.CPP відображає свій висновок у вигляді двох рядків, використовуючи символ нового рядка:

void main (void)
<
cout <<"Это строка один\nЭто строка два";
>

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

З: \> TWOLINES

Це рядок один

Якщо ви не виводьте символьний рядок, можете помістити символ нового рядка всередині одинарних лапок. Наприклад, наступна програма NEWLINES.CPP виводить числа 1, 0, 0 і 1, кожне на своїй власній рядку:

void main (void)
<
cout <<1 <<'\n' <<0 <<'\n' <<0 <<'\n' <<1;
>

На додаток до використання символу нового рядка для просування курсора в початок наступного рядка ваші програми можуть використовувати символ endl (кінець рядка). Наступна програма ENDL.CPP ілюструє використання endl для просування курсора в початок нового рядка:

<
cout <<"А теперь. " < <<"Учимся программировать на языке C++";
>

Як і раніше, коли ви откомпіліруете і запустіть цю програму, на екрані буде відображено висновок програми у вигляді двох рядків:

C: \> ENDL

Вчимося програмувати на мові C ++

<
cout <<"Jamsa Press" < cout <<"2975 South Rainbow, Suite I" < cout <<"Las Vegas, NV 89102" <>

Інші спеціальні символи

На додаток до символу нового рядка, що дозволяє вашим програмам просувати курсор в початок нового рядка, ви можете використовувати спеціальні символи, перераховані в табл. 3.1.

Таблиця 3.1. Спеціальні символи для використання з cout.

Шістнадцяткове значення, наприклад \ xFFFF

Зауваження: При використанні спеціальних символів, перерахованих в табл. 3.1, вам слід розташовувати їх всередині одинарних лапок, якщо ви використовуєте дані символи самі по собі, наприклад '\ n', або всередині подвійних лапок, якщо ви використовуєте їх усередині рядка, наприклад "Прівem \ nMup!".

Наступна програма SPECIAL.CPP використовує спеціальні символи сигналу (\ а) і табуляції (\ t) для видачі звуку на вбудований динамік комп'ютера і потім виводить слова Дзвінок Дзвінок Дзвінок, розділені табуляцією:

<
cout <<"3вонок\a\tЗвонок\a\tЗвонок\a";
>

ВИСНОВОК восьмеричний І шістнадцяткове значення

Програми, представлені в цьому уроці досі, виводили числа в десятковому вигляді. Залежно від призначення ваших програм вам, можливо, буде потрібно виводити числа в вісімковому або шістнадцятковому вигляді. Для цього можна розмістити модифікатори dec, oct і hex всередині вихідного потоку. Наступна програма ОСТНЕХ.СРР використовує ці модифікатори для виведення значень в десятковому, вісімковому і шістнадцятковому вигляді:

<
cout <<"Восьмеричный: " < cout <<"Шестнадцатеричный: " < cout <<"Десятичный: " <>

Коли ви откомпіліруете і запустіть цю програму, на екрані з'явиться наступний результат:

З: \> OCTEX

Восьмирічний: 12 24

Шістнадцятковий: а 14

Десятковий: 10 20

Примітка: Коли ви використовуєте один з модифікаторів для вибору вісімкового, шістнадцятирічного або десяткового виведення, ваш вибір буде залишатися в силі до тих пір, поки програма не закінчиться або поки ви не використовуєте інший модифікатор.

ВИСНОВОК НА СТАНДАРТНЕ ПРИСТРІЙ ПОМИЛОК

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

Якщо вашій програмі потрібно вивести повідомлення про помилку, ви повинні використовувати вихідний потік cerr. C ++ пов'язує cerr зі стандартним пристроєм помилок операційної системи. Наступна програма CERR.CPP використовує вихідний потік cerr для виведення на екран повідомлення "Це повідомлення з'являється завжди":

<
cerr <<"Это сообщение появляется всегда";
>

Відкомпілюйте і запустіть цю програму. Далі спробуйте перенаправити висновок програми в файл, використовуючи оператор перепризначення виведення:

З: \> CERR> FILENAME.EXT

Так як операційна система не дозволить вашим програмам перенаправити висновок, що записується на стандартний пристрій помилок, повідомлення з'явиться на вашому екрані.

УПРАВЛІННЯ ширину висновку

Кілька попередніх програм виводили числа на екран. Щоб гарантувати правильне відображення цих чисел (з правильною розстановкою пробілів), програми включали пропуски перед та після чисел. При виведенні на cout або cerr ваші програми можуть вказати ширину виводу кожного числа, використовуючи модифікатор setw (установка ширини). За допомогою setw програми вказують мінімальну кількість символів, займане числом. Наприклад, наступна програма SETW.CPP використовує модифікатор setw для вибору ширини 3, 4, 5 і 6 для числа 1001. Щоб використовувати модифікатор setw, ваша програма повинна включати заголовки iomanip.h:

<
cout <<"Мое любимое число равно" < cout <<"Мое любимое число равно" < cout <<"Мое любимое число равно" < cout <<"Мое любимое число равно" <>

Коли ви откомпіліруете і запустіть цю програму, на екрані з'явиться наступний висновок:

З: \> SETW

Моє улюблене число равно1001

Моє улюблене число равно1001

Моє улюблене число рівною 1001

Моє улюблене число рівною 1001

Якщо ви вказуєте ширину за допомогою setw, ви вказуєте мінімальну кількість символьних позицій, займаних числом. У попередній програмі модифікатор setw (3) вказував мінімум три символи. Однак, так як число 1 001 зажадало більше трьох символів, cout використовував реально необхідну кількість, яке в даному випадку дорівнювало чотирьом. Слід зазначити, що при використанні setw для вибору ширини, зазначена ширина дійсна для виведення тільки одного числа. Якщо вам необхідно вказати ширину для декількох чисел, ви повинні використовувати setw кілька разів.

Зауваження: Попередня програма використовує заголовки IOMANIP.H. Вам, можливо, знадобиться зараз надрукувати і досліджувати вміст цього файлу. Як і у випадку з заголовним файлом IOSTREAM.H ви знайдете даний файл всередині підкаталогу INCLUDE, який знаходиться в каталозі з файлами вашого компілятора.

ЩО ВАМ ТРЕБА ЗНАТИ

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

    1. Вихідний потік cout дозволяє вам виводити символи і числа.
    2. Використовуючи спеціальні символи всередині вихідного потоку, ваша програма може вказати новий рядок, табуляцію і інші більш доступного режиму.
    3. Для просування курсора в початок наступного рядка програми можуть створити новий рядок, використовуючи символ \ n або модифікатор endl.
    4. Модифікатори dec, oct і hex дозволяють програмам виводити значення в десятковому, вісімковому і шістнадцятковому вигляді.
    5. Використовуючи вихідний потік cerr, програми можуть записати повідомлення в стандартний пристрій помилок операційної системи.
    6. За допомогою модифікатора setw ваші програми можуть управляти шириною виведення чисел.

Схожі статті