Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы.doc
Скачиваний:
48
Добавлен:
07.03.2016
Размер:
3.6 Mб
Скачать

4.2. Функція виведення даних printf

Для виведення даних у класичному C використовується функція printf. Вона без змін перенесена у С++.

Синтаксис:

printf(char *fotmat, <додаткові аргументи>)

Рядок формату складається із символів виведених без зміни та спеціальних символів формату, які задають перетворення даних. Для такого перетворення використовуються додаткові аргументи.

Специфікація перетворення формату має вигляд:

%[ прапори ] [ширина] [. точність] [ L|l ] тип,

де прапори:

– (мінус) - вирівнювання по лівому краю поля;

+ (плюс) - виводиться знак числа + або –;

ширина: визначає мінімальне число виведених символів, що доповнюються пробілами або нулями.

точність: визначає число знаків після десяткової точки для чисел із плаваючою точкою. Для змінних цілого типу визначається максимальне число виведених цифр.

тип:

d або i -десяткове ціле зі знаком (int);

u – десяткове ціле без знака (unsigned int);

x – шістнадцятирічне ціле без знака (unsigned int);

f – виведення числа з плаваючою точкою (float, double);

e – виведення числа з плаваючою точкою із використанням експоненціальної форми (float, double);

c – виведення символу (char);

s – виведення рядка;

p – виведення по вказівці.

L | l – застосовується в комбінації із символом типу:

Lf і Le - довгий із плаваючою точкою (long double);

ld або li - довгий цілий (long int);

lu – беззнаковий довгий цілий (unsigned long int).

Приклад:

#include <iostream>

using namespace std;

void main()

{

int g = 22;

float f = 20000/3.0f;

double d=10000.0;

long ln = 200001L;

long double ld=1.0;

d = d/3;

ld/=3;

printf(" \n-----%10.1f----",f);

//----- 6666.7----

printf(" \n-----%10.4d----",g);

//----- 0022----

printf(" \n--d=%10.5f g=%d",d,g);

//--d=3333.33333 g=22

printf(" \n--ln=%8ld ",ln);

//--ln= 200001

printf(" \n--ln=%8.7ld ",ln);

//--ln= 0200001

printf(" \n--ld=%16.15Lf ",ld);

//--ld=0.333333333333333

}

4.3. Об’єкт введення даних cin

Введення даних здійснюється з використанням об’єкта cin. Синтаксис:

cin >> змінна [ >> змінна ]…

При введенні рядків введення здійснюється тільки по одному слову. При введенні декількох змінних роздільник між ними - пробіл або <Enter>.

Приклад 1:

char f[20];

cout << "Введіть ім’я?";

cin >> f;

cout << "Ім’я:"<< f <<"\n";

int e;

cin >>e;

cout << "\ne = "<< e;

Приклад 2

#include <iostream>

using namespace std;

void main()

{

char name[20],fam[20];

int age;

cin >> name >> fam >> age; //Іван Іванов 25

cout << fam << ' ' << name << ' ' << age;

}

Результат роботи:

Іванов Іван 25

4.4. Функція введення даних scanf

Функція scanf є одною із багатьох функцій введення, які мають місце в зовнішніх бібліотеках. Кожній змінній, що вводиться у рядку функції scanf повинна відповідати специфікація (див. функцію виведення даних printf). Перед іменами змінних треба ставити символ &. Цей символ означає «взяти адресу». Більш детально про адреси та вказівки буде розглядатись у темі 8 "Вказівки, посилання та масиви".

Нижче приведено простий приклад використання функції scanf.

#include <iostream>

using namespace std;

void main()

{

//w - вес, h - рост.

int w,h;

printf("Введите ваш вес: ");

scanf("%d",&w);

printf("Введите ваш рост: ");

scanf("%d",&h);

printf("\n\nВес = %d, рост = %d\n",w,h);

}

При введенні ваги 80 та росту 185 на екран буде виведено наступний результат:

Вес = 80, рост = 190