Назад Зміст Вперед

Способи введення / виведення інформації

У стандартному C ++ існує два основних шляхи введення-виведення інформації:

  1. за допомогою потоків (з використанням команд cin - cout)
  2. за допомогою традиційної системи введення-виведення, успадкованої від C.

Вивід інформації в стилі С

Підключення бібліотеки

Для використання введення-виведення в стилі C, в програму необхідно включити заголовочний файл <cstdio>.

Перша програма з використанням бібліотеки cstdio виглядає так:

#include <iostream>
#include <cstdio>
using namespace std;

int main()
{
    // Виведення класичного повідомлення "Hello, world!"
    printf("Hello, world!\n");
    
    return 0;  // Завершення програми з кодом успіху
}

Функція printf()

Функція printf() призначена для форматованого виведення на екран. При цьому у програміста є можливість форматувати дані, тобто впливати на їх вигляд на екрані.

Загальна форма запису функції printf():

printf("Рядок форматів",змінна_1,змінна_2,...,змінна_n);

Рядок форматів складається з:

  1. текстових констант;
  2. керуючих символів;
  3. форматів, призначених для виведення значень змінних різних типів.

Список змінних може бути відсутнім.

Керуючі символи

Керуючі символи не виводяться на екран, а керують розташуванням тексту, що виводиться.

Ознакою керуючого символу є наявність зворотного слеша (\) перед ним.

Поки розглянемо тільки один керуючий символ: \n – перевід курсору на наступний рядок. Цей символ нам вже відомий.

Формати виводу чисел

Формати потрібні для того, щоб вказувати вид, в якому значення змінної буде виведено на екран.

Ознакою формату є наявність символу відсоток (%) перед ним.

Деякі числові формати:

Формат виводу двох цілих чисел типу int на одному рядку через пробіл

Вивід значень двох змінних у рядок через пробіл:

#include <iostream>
#include <cstdio>
using namespace std;

int main()
{
    int x = 10, y = 200;  // Оголошення та ініціалізація змінних x та y

    // Форматований вивід значень змінних
    printf("x=%d y=%d", x, y);  // %d - специфікатор для цілих чисел
    
    return 0;  // Коректне завершення програми
}

Результат:

Фактично, на екран виводиться рядок форматів, але в ньому замість першого формату %d підставляється значення змінної x (перша зі списку), а замість другого формату %d підставляється значення змінної y (друга зі списку).

Формат виводу двох цілих чисел типу int на різних рядках

#include <iostream>
#include <cstdio>
using namespace std;

int main()
{
    int x = 10, y = 200;  // Ініціалізація змінних x та y

    // Форматований вивід з перенесенням рядка
    printf("x=%d\ny=%d", x, y);  // \n - символ нового рядка
    
    return 0;  // Успішне завершення програми
}

У даному прикладі у рядок форматів, замість пробілу вставлене керуючий символ \n, який переводить курсор на новий рядок, тому значення другої змінної y виведено на наступному рядку. Результат:

Формат виводу цілого числа типу int з вказанням кількості знакомісць

У числі все займає місце: цифри, крапка та знак (+ або -) перед числом.

#include <iostream>
#include <cstdio>
using namespace std;

int main()
{
    int x = -10, y = 200, z = 3333;  // Ініціалізація змінних з різними значеннями

    /* Форматований вивід з вирівнюванням:
       %5d - виводить ціле число у полі шириною 5 символів */
    printf("x=%5d\ny=%5d\nz=%5d", x, y, z);
    
    return 0;  // Код успішного завершення програми
}

У цьому прикладі, у рядку форматів значення змінної заміняє формат %5d. Цей формат означає, що виводиться ціле число і на нього відводиться 5 знакомісць. Якщо число займає менше місця, то воно зліва доповнюється пробілами до 5 знаків.

Значення кожної змінної виводиться на окремому рядку, бо у рядку форматів у двох місцях написано керуючий символ \n.

Результат:

Формат виводу дійсного числа типу float (double)

Вивід значень двох змінних у рядок через пробіл:

#include <iostream>
#include <cstdio>
using namespace std;

int main()
{
    float x = 10.54378, y = 200.7559;  // Ініціалізація змінних з плаваючою точкою

    // Форматований вивід дійсних чисел
    // %f - виводить float з стандартною точністю (6 знаків після коми)
    printf("x=%f y=%f", x, y);
    
    return 0;  // Успішне завершення програми
}

Результат:

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

Формат виводу дійсного числа типу float (double) з вказанням кількості знакомісць та кількості знаків після крапки

#include <iostream>
#include <cstdio>
using namespace std;

int main()
{
    double x = -10.54318, y = 200.7559, z = 3333.12;
    printf("x=%9.3f\ny=%9.3f\nz=%9.3f", x, y, z);
    return 0;
}

Специфікатор формату %9.3f:

Приклад виводу програми:

x=  -10.543
y=  200.756
z= 3333.120

Де:

Назад Зміст Вперед