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.  Як визначити стан потоку?


 

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

5628. Упрощенная система налогообложения (УСН) 39 KB
  Упрощенная система налогообложения (УСН) УСН предусматривает уплату единого налога вместо уплаты нескольких налогов. Единый налог заменяет: налог на прибыль организаций (для индивидуальных предпринимателей - НДФЛ) НДС налог на имущество ЕСН....
5629. Система налогообложения для сельскохозяйственных товаропроизводителей (единый сельскохозяйственный налог - ЕСХН) 30 KB
  Система налогообложения для сельскохозяйственных товаропроизводителей (единый сельскохозяйственный налог - ЕСХН) Сельскохозяйственные товаропроизводители - это организации и индивидуальные предприниматели, производящие сельскохозяйственную...
5630. Ответственность за нарушение налогового законодательства. Административная и уголовная ответственность в налоговой сфере 78.5 KB
  Ответственность за нарушение налогового законодательства Понятие налоговой ответственности. Составы налоговых правонарушений. Ответственность в соответствии с НК РФ. Административная и уголовная ответственность в налоговой...
5631. Налоговый контроль. Камеральная и выездная налоговые проверки 76 KB
  Налоговый контроль Понятие и виды налогового контроля. Камеральная и выездная налоговые проверки. Порядок оформления результатов проверок. Административная и судебная защита прав налогоплательщиков. Налоговый контроль
5632. Федеральная налоговая служба. Государственные органы как участники отношений в налоговой сфере 76.5 KB
  Государственные органы как участники отношений в налоговой сфере Федеральная налоговая служба. Таможенные органы. Федеральная служба по борьбе с налоговыми и экономическими преступлениями. Другие участники отношений в налогов...
5633. Налоговое производство. Порядок исчисления и уплаты налога 75 KB
  Налоговое производство Понятие налогового производства. Бухгалтерский и налоговый учет при исчислении налога. Порядок исчисления налога. Порядок уплаты налога. Юридической обязанностью налогоплательщика является уплата нал...
5634. Система налогов. Направления развития системы налогообложения в РФ 76 KB
  Система налогов Направления развития системы налогообложения в РФ. Перечень налогов, взимаемых на территории РФ. Общие сведения о налогах. Реформирование налоговой системы - это ее преобразование, исходя из направлений...
5635. Основы российской налоговой системы. Принципы налогообложения 68 KB
  Основы российской налоговой системы Понятие налоговой системы и налоговой политики. Принципы налогообложения в РФ. Система налогового законодательства. Бюджетный процесс и налогообложение. Основные характеристики налого...
5636. Дискретная математика. Теория вероятностей и математическая статистика 1.01 MB
  Учебно-методическое пособие разработано по дисциплине Математика и содержит краткий теоретический материал и упражнения по двум разделам дисциплины: дискретная математика, теория вероятностей и математическая статистика. Для организации самостоятель...