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


 

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

53627. Пётр Павлович Ершов «Конек - Горбунок» 72.5 KB
  Слайд 1 Итак самое знаменитое произведение Ершова была сказка Конёк Горбунок Почему сказка Говорят животные на ките люди живут нет жарптицы месяц как живой человек конёк летает нельзя искупаться в кипятке и остаться живым. Слайд 2. Слайд 3. А кто прочитал всю сказку Сколько частей 3 Слайд 4 Сегодня на уроке мы попытаемся увидеть: как своим поэтическим языком описал героев Ершов и поняли ли его художники иллюстрировавшие сказку Конёк Горбунок.
53628. Формирование бюджета капиталовложений 25 KB
  При планировании инвестиционной деятельности компании обычно имеют дело не с отдельными проектами, а с портфелем возможных проектов. При этом затраты на реализацию этих проектов превышают доступные предприятию инвестиционные ресурсы.
53629. Сравнение трёхзначных чисел 54 KB
  Для чего нам нужны эти навыки устного счёта 60 и 12 на сколько одно число больше другого во сколько раз одно число больше другого. сколько сумме этих чисел не хватает до 100. 65 и 9 На сколько одно число больше другого найдите сумму этих чисел сколько сумме этих чисел не хватает до 50. Сколько сказок на каждом диске 16 х 3 = 48 60 48 = 12 12 : 2 = 6 2.
53631. Нижняя прямая подача мяча (обучение). Закрепление перемещений волейболиста, приема волейбольного мяча сверху двумя руками посредством эстафеты 73.5 KB
  1 мин 1 мин 30 с Соблюдать интервал; обратить внимание на внешний вид учащихся Следить за дистанцией Следить за правильностью выполнения задания спина прямая взгляд направлен вперед. Во время бега следить за правильностью постановки ноги. Следить за высотой подъема бедра. Следить за четкостью выполнения команд за соблюдение интервала.
53632. Весёлые старты 125 KB
  Упражнения в ходьбе: на носках руки вверх; на пятках руки за голову; на внешней стороне стопы руки на поясе; ходьба; б Бег. Ходьба руки за голову. Руки прямые пальцы вместе. стойка ноги врозь руки на пояс.
53633. Прыжки в длину с разбега. Метание в горизонтальную цель 60.5 KB
  а ходьба в приседе руки на коленях. б ходьба на пятках руки в стороны. в ходьба на носках руки на поясе. г ходьба на внешней стороне стопы руки за голову.
53634. Совершенствование технических действий в баскетболе 55 KB
  Задачи урока: образовательные: совершенствовать технику ловлипередачи мяча совершенствовать умения в бросках мяча совершенствовать технику ведения мяча; развивающие: развивать двигательные качества ловкость быстроту реакции координацию движений; воспитательные: воспитывать у обучающихся чувства коллективизма взаимовыручки дружбы. Тип учебного занятия: урок закрепления Формы работы: фронтальная групповая Инвентарь и оборудование: баскетбольные мячи конусы Место проведения: спортивный зал. ОРУ с баскетбольными мячами на месте:...
53635. Волейбол 79 KB
  Совершенствование в технике приёма мяча с подачи и передача мяча. Равномерный бег в колонне по одному: а бег со сменой лидера; б бег с выносом прямых ног вперёд и назад; в бег с поворотами на 3600 ; в бег спиной вперёд; б бег змейкой по линиям площадки; в перемещения в средней стойке волейболиста приставными шагами левым правым боком с имитацией руками передачи мяча двумя сверху; гбег в колонне по одному у баскетбольного щита прыжок вверх касание рукой щита. Упражнения с набивным мячом 1кг 1 подбрасывание мяча вверх...