11719

Організація введення/виведення данних мови програмування С++. Вивчення стандартних типів даних

Лабораторная работа

Информатика, кибернетика и программирование

Організація введення/виведення інформації. Вивчення стандартних типів даних. Мета роботи: Дослідження функцій введення виведення даних мови програмування С. Послідовність виконання роботи Завантажити та налаштувати сис

Украинкский

2015-01-27

77.5 KB

9 чел.

Лабораторна робота   №5

Тема: Організація введення/виведення інформації.

Вивчення стандартних типів даних.

Мета роботи: Дослідження функцій введення - виведення даних мови програмування С++.

Послідовність виконання роботи

Завантажити та налаштувати систему Borland C++ 5.02.

Застосування функції потокового виводу даних.

У C++ виведення даних на екран виконується за допомогою об'єкту стандартного потоку  виведення  cout,  а  введення  з  клавіатури  здійснюється  за допомогою  об'єкту стандартного потоку введення cin. Для використання цих об'єктів необхідно підключити головний файл <iostream.h>. Для обробки форматного введення-виводу за допомогою так званих маніпуляторів потоку необхідно підключити головний файл <iomanip.h>.

Розглянемо приклад використання функції cout :

 

#include <iomanip.h>  // підключення бібліотеки засобів

                          //  маніпулювання потоками мови С++

#include <iostream.h> // підключення бібліотеки стандартних

                           // об'єктів і операцій з потоками

                          // введення-висновку засобами мови С++

 main()

{

int age=22;          // вік Максима 

float income=534.72; // прибуток Максима 

cout<<'\n'

<<"Вік Максима : "<<age<<'.'

<<" Його прибуток: $"<<setprecision(2)

<<income<<'.'<<endl;

return 0;

}

 

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

 

Вік Максима : 22. Його прибуток: $534.72.

 

Вміщення в потік виконується за допомогою операції помістити в потік <<. В даному прикладі об'єкту cout за допомогою операції << передаються значення, які необхідно вивести на екран. Операція << є "більше інтелектуальною" в порівнянні з функцією printf, оскільки визначає тип даних, що виводяться. Для виведення декількох об'єктів операція << використовується в зчепленій формі.

Маніпулятор потоку endl викликає перехід на новий рядок і очищає буфер виводу, тобто примушує буфер негайно вивести дані, навіть якщо він повністю не заповнений. Очищення (скидання) буфера виводу може бути також виконане маніпулятором flush.

При виведенні значення змінної income використовується маніпулятор потоку  setprecision.  Використання  setprecision(2) - це  вказівка формату для виводу тільки двох цифр після десяткової точки. Оскільки маніпулятор setprecision приймає параметр, він називається параметризированным маніпулятором потоку.

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

3. Застосування функції форматного введення даних.

Введення потоку здійснюється за допомогою операції узяти з потоку >>. Ця операція застосовується до об'єкту стандартного потоку введення cin. Розглянемо приклад використання об'єкту cin :

 

#include <iostream.h>

 main()

{

int weight, // вага

height;     // зріст

cout<<"Введіть Вашу вагу :"<<endl;

cin>>weight;

cout<<"Введіть Ваш зріст: "<<endl;

cin>>height;

cout<<"\nBaша вага = "<<weight<<';'<<endl

   <<"Ваш зріст = "<<height<<'.'<<endl;

 return 0;

}

 

Тут  зчитувані  значення  розміщуються  в  змінних  weight  і height. В процесі введення послідовність символів, набрана на клавіатурі, перетвориться в необхідне внутрішнє представлення (у даному прикладі цілочисельне).

4. Приклад виконання роботи

Організувати введення і виведення цих заданих типів, забезпечивши роздруки відповідними заголовками.

Початкові дані: i=-71, j=021, k=0x2F, X=-41.21, Y=21.345, z=18.04.

/****************************************************/

/*              Лабораторна робота №5                   */

/*         Функції потокового виводу даних       */

/*         Приклад виконання. Варіант №30        */

/****************************************************/              

#include <iostream.h>

#include <iomanip.h>

main()

{

 int i, j, k;

 float x, y, z;

 //   // робота з цілими числами

 cout<<"Введіть ціле десяткове число \n";

 cin>>i;

 cout<<"Введіть ціле вісімкове число"<<endl;

 cin>>oct>>j;

 cout<<"Введіть ціле шістнадцятиричне число \n";

 cin>>hex>>k;

////робота в десятковому форматі

 cout<<"Десяткові цілі= \n";

// //виведення цілого десяткового зі знаком

 cout.setf(ios::showpos);//встановлення виведення даних зі знаком

 cout<<i;

 cout.unsetf(ios::showpos); //відміна виведення знаку

////виведення цілого 8-ного в десятковому виді з шириною поля 6

////і вирівнюванням по правому краю

 cout.width(6);

 cout.dec;

 cout<<j<<' ';

////виведення цілого 16-ного в десятковому виді з шириною поля 8

// // і вирівнювання по лівому краю

 cout.setf(ios::left);

 cout<<setw(8)<<dec<<k;

 cout.setf(ios::right); //установка вирівнювання по правому краю

////робота в 8-ному форматі

 cout<<"\nВосьмеричні цілі= \n";

// //виведення i без вказівки ширини і j з шириною 6

 cout.oct;

 cout<<i<<setw(6)<<oct<<j;

////виведення k з шириною поля 7 і заповненням нулями

 cout.fill('0');

 cout<<setw(7)<<oct<<k;

 cout.fill(' ');//встановлення символу заповнення - пропуск

 cout<<"\nШістнадцятиричні цілі= \n";

// //виведення чисел в 16-ній СО з буквами у верхньому регістрі

// //і з префіксом основи системи обчислення

 cout.setf(ios::uppercase);

 cout.setf(ios::showbase);

 cout<<hex<<i<<setw(6)<<hex<<j<<hex<<setw(6)<<k;

 cout<<"\nПриведення типів:\n";

// //виведення числа з плаваючою крапкою без відкидання

// //дробової частини, рівній нулю

 cout.setf(ios::showpoint);

 cout<<float(i)<<endl;

 cout.unsetf(ios::showpoint);

// //виведення числа з плаваючою крапкою з відкиданням(за умовч.)

// //дробової частини, рівній нулю

   cout<<float(i)<<endl;

//  // робота з плаваючими числами

 cout<<"\nУведіть три дійсні числа \n";

 cin>>x>>y>>z;

 cout<<"Дійсні числа=\n";

 cout.width(8);

 cout.fill('0');

 cout<<x<<endl;

// //виведення чисел з шириною поля 9, кількістю значущих цифр 5

 // //і символом заповнення - пропуском

 cout.width(9);

cout.setf(ios::fixed);

 cout.precision(5);

 cout<<setfill(' ')<<y<<endl<<z;

 cout<<"\nЭкспоненціальний запис ";

////виведення чисел з шириною поля 8, величиною дробової частини 5

////і в експоненціальній формі

 cout.width(8);

 cout.setf(ios::scientific);

 cout<<setprecision(5)<<x;

 cout.unsetf(ios::scientific);

}

               Результат роботи програми

Виконати:

  1.  Введіть в системі ВС наведений приклад програми.
  2.  Перевірте текст програми на помилки та завантажте програму на виконання.
  3.  Проаналізуйте результати виконання програми.

5. Контрольне завдання

Організувати введення і виведення  заданих типів, забезпечивши виведення даних відповідними заголовками. Початкові дані беруться з таблиці. 1 (лабораторної роботи №4).

                                                                  

Виконати:

  1.  Сформувати математичну модель вирішення задачі.
  2.  Виявити змінні і дати їм характеристику.
  3.  Скласти алгоритм рішення задачі.
  4.  Скласти програму (описати алгоритм за правилами мови програмування ВС++).
  5.  Записати файл програми на диск.
  6.  Продемонструвати викладачеві результати виконання роботи.

Питання для контролю

  1.  Що таке потік?
  2.  Які стандартні потоки ви знаєте?
  3.  Як здійснюється потокове введення даних? Приклади.
  4.  Як здійснюється потокове виведення даних? Приклади.
  5.  Що таке прапори форматування, перерахуйте їх?
  6.  Що таке маніпулятори?           
  7.  Як визначити стан потоку?


 

А также другие работы, которые могут Вас заинтересовать

8525. Політичний режим. Політичний устрій 34.5 KB
  Тема уроку. Політичний режим. Політичний устрій. Мета уроку. Мета: Навчити ліцеїстів основних поняттям теорії держави та влади розвивати вміння висловлювати власне ставлення до проблеми виховувати почуття правової свідомості. Обладнання: Дошка, пі...
8526. Україна у складі Росії та Австро-Угорщини. Економічне становище 28.54 KB
  Україна у складі Росії та Австро-Угорщини. Економічне становище. Мета уроку: Визначити особливості розвитку промисловості в Наддніпрянській та Західній Україні порівняти, як відбувався розвиток сільського господарства на українських землях у складі...
8527. Вступ. Зміст, завдання, структура курсу новітня історія України в 10 класі 49 KB
  Вступ. Зміст, завдання, структура курсу новітня історія України в 10 класі. Мета: Визначити, який період історії України вивчатиметься цього навчального року пояснити якою була територія і населення України на початку ХХ століття ознайомити учнів ...
8528. Цінності та перспективи християнської моралі 20.98 KB
  Тема уроку: Цінності та перспективи християнської моралі (11-кл.) Мета уроку: Н: Ознайомити учнів з основними поняттями мораль, християнська мораль, визначити їхню важливість та перспективи в сучасному світі Р: Сприяти розвитку пізнавального інтере...
8529. Державний лад. Форми правління. Урок 53.61 KB
  Тема уроку. Державний лад. Форми правління. Мета уроку: ознайомити учнів з основними аспектами питання про державний лад та форми правління розвивати в учнів здатність застосовувати отримані знання на практиці виховувати в ліцеїстів...
8530. Початок Української революції. Утворення Центральної Ради 58 KB
  Початок Української революції. Утворення Центральної Ради. Мета: зясувати причини, мету, програму діяльності Центральної ради, розглянути перший етап Української революції та його особливості, розвивати навички аналізу історичних фактів, вмін...
8532. Философия науки неопозитивизма: основные концепции 23.06 KB
  Философия науки неопозитивизма: основные концепции Третий этап позитивизма: неопозитивизм. (40-е гг. 20 в.) Основные представители: Шлик, Нейрат, Карнар, Айер. Главная задача философии неопозитивизма - это анализ языка науки, поэтому этот этап ...
8533. Постпозитивизм. проблема демаркации эмпирических и теоретических наук 19.63 KB
  Постпозитивизм. проблема демаркации эмпирических и теоретических наук Позитивизм - направление в науке и философии, исходящее из позитивного, т. е. из данного, устойчивого, фактического, несомненного, и ограничивает им свое изложение и исслед...