Хелпикс

Главная

Контакты

Случайная статья





Типы данных. Операторы ввода и вывода данных. Форматированный ввод/вывод данных различных типов. Стандартные потоки ввода-вывода данных.



 

Лабораторная работа № 3.

 

Типы данных. Операторы ввода и вывода данных. Форматированный ввод/вывод данных различных типов. Стандартные потоки ввода-вывода данных.

Основные типы данных

Функции форматированного ввода/вывода:

Оператор вызова функции вывода printf( ) можно представить так:

printf (форматная_строка, список_аргументов);

Оператор вызова функции вывода scanff( ) можно представить так:

scanf (форматная_строка, список_аргументов);

Форматная строка состоит из спецификаций вида: %*спецификатор,
где *- позволяет пропустить во входном потоке вводимые значения (например, при чтении данных из файла) спецификатор - такой же, как при выводе данных (%f – формат вывода десятичного числа с плавающей точкой, %d - формат вывода десятичного целого числа со знаком).

Пример 1.

 

Потоковый вывод -   cout << значение;

Потоковый ввод -   cin >> идентификатор;

Пример 2.
#include <iostream>

#include <locale.h>

using namespace std;

int main()

{

setlocale(LC_ALL, "Russian");

int n;

cout << "Введите n:";

cin >> n;

cout << "Значение n равно: " << n << endl;

return 0;

}

 

Пример 3.

#include <iostream>

using namespace std;

int main()

{

double a = -112.234;

double b = 4.3981;

int c = 18;

cout << endl << "double number:" << endl;

cout << "width(10)" << endl;

cout.width(10);

cout << a << endl << b << endl;

cout << "fill('0')" << endl;

cout.fill('0');

cout.width(10);

cout << a << endl << b << endl;

cout.precision(5);

cout << "precision(5)" << endl << a << endl << b << endl;

cout << "fixed" << endl << fixed << a << endl << b << endl;

cout << "showpos" << endl << showpos << a << endl << b << endl;

cout << "scientific" << endl << scientific << a << endl << b << endl;

cout << endl << "int number:" << endl;

cout << showbase << hex << c << " " << showbase << oct << c << " ";

cout << showbase << dec << c << endl;

cin.get();

return 0;

}
Результат выполнения программы

Пример 4.

Еще один пример использования форматированного вывода: для t∈[0;3] с шагом 0,5 вычислить значение y=cos(t).

#include <iostream>

using namespace std;

int main()

{

cout << fixed;

for (double t = 0; t <= 3; t += 0.5) {

     cout.width(3);

     cout.precision(1);

     cout << t;

     cout.width(8);

     cout.precision(3);

     cout << cos(t) << endl;

}

return 0;

}

Результат выполнения

Использование некоторых спецэкранированных символов:

\n – newline (перевод строки)

\t – tab (табуляция, сдвиг на пробел)

\\ - экранирование самой косой черты, чтобы она попала в строку

Задания для выполнения

 

1. Реализуйте все примеры, описанные в лабораторной работе.

2. Создайте 4 переменные с разными типами данных и предложите пользователю ввести в них значения. После ввода, отобразите их на экране. Напишите решение данной задачи, используя форматированный ввод/вывод данных и стандартные потоки ввода-вывода данных.

3. Вывести на экран текст в таком виде:

Напишите решение данной задачи, используя форматированный ввод/вывод данных и стандартные потоки ввода-вывода данных.

  1. Напишите программу, которая выводит на экран фразу: «Каждый охотник желает знать, где сидит фазан». Каждое слово фразы должно быть выведено с новой строки с отступом на одну позицию табуляции вправо. Напишите решение данной задачи, используя форматированный ввод/вывод данных и стандартные потоки ввода-вывода данных.
  2. К примерам 3, и для выделенной части примера 4 добавьте комментарии (в тетради)

 

 

Приложение:

Функцию - манипулятор потока можно включать в операции помещения в поток и извлечения из потока (<<, >>).

В С++ имеется ряд манипуляторов. Рассмотрим основные:

Манипулятор Описание
Endl Помещение в выходной поток символа конца строки '\n'
Dec Установка основания 10-ой системы счисления
Oct Установка основания 8-ой системы счисления
Hex Установка основания 16-ой системы счисления
setbase Вывод базовой системы счисления
width(ширина) Устанавливает ширину поля вывода
fill('символ') Заполняет пустые знакоместа значением символа
precision(точность) Устанавливает количество значащих цифр в числе (или после запятой) в зависимости от использования fixed
Fixed Показывает, что установленная точность относится к количеству знаков после запятой
showpos Показывает знак + для положительных чисел
scientific Выводит число в экспоненциальной форме
get() Ожидает ввода символа
getline(указатель, количество) Ожидает ввода строки символов. Максимальное количество символов ограничено полем количество

 

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.