Ввод-вывод С++. Преобразование типов. Манипуляторы потока., Функции с преопределенными параметрами. Перегрузка функций. Операции new, delete

Страницы работы

6 страниц (Word-файл)

Содержание работы

Информатика   1курс

Лаб.работа C5

Цель занятия:

0. Текущая учебная информация.

1.  Ввод-вывод С++

2.  Преобразование типов

3.  Манипуляторы потока

4.  Функции с преопределенными параметрами.

5.  Перегрузка функций.

6.  Операции new, delete

7.  Тип данных ссылка

8.  Тип  данных:  класс

Скопируйте каталог X-files\Students\Tasks\Informatika\Lab_C5  в свой каталогInform.

Ваш рабочий каталог:   Z:\Inform\Lab_C5

===============================================================

0. Текущая учебная информация.

Обратите внимание на структурное оформление программ. Программы должны быть структурированы в стиле «MFC». Если у Вас возникают вопросы, посмотрите Лекции или обратитесь к преподавателю.

Не правильно структурированные программы будут отключены перед зачетом из сданных решений.

Необходимо исправить неправильно структурированные программы и снова отправить их на проверку.

===============================================================

1)  программа  Dc_1.cpp

Для организации  ввода-вывода в Си++  используется библиотека <iostream> ( ранее - <iostream.h>)

Стандарт С++ требует  добавить строку : using namespace std;   , которая введёт стандартный набор имён для потоков Ввода - вывода               

cout  - стандартный поток  (устройство) вывода

<< - операция вывода в поток вывода

endl –  «манипулятор потока» - для вывода символа конца строки (end of line)

cin  - стандартный поток  (устройство) ввода

>> - операция ввода в поток ввода

у функции main( ) явно указан тип возвращаемого значения. Это значение возвращается оператором         return0;   

Если  int  убрать, то функция main() попрежднему, по умолчанию,  должна вернуть операционной системе целое значение.

Вывод – функция всегда возвращает значения (если не указано явно другое).

2)  программа  Dc_2.cpp

cin  - стандартный поток  (устройство) ввода

>> - операция ввода в поток ввода

В поток вывода можно последовательно направлять строки и значения выражений с помощью многократного использования операции <<

3)  программа  Dc_3.cpp

Программа демонстрирует удобство использования бесформатного вывода в поток cout.

Введенное макроопределение print( ) позволяет выводить любые типы данных (int и float в данном примере).

4)  программа  Dc_4.cpp

Эта программа уже была. В ней добавилось преобразование типов  для языка С++.

Операции явного преобразования типов:

(тип) выражение   - синтаксис языка Си

тип( выражение)   - синтаксис языка Си++ - аналогичен по виду к обращению к функции, но при  этом тип должен быть простым типом (из одной лексемы)

Неявное преобразование типов происходит всегда при вычислении выражений так, чтобы по возможности не терялась информация. Но если происходит преобразование с понижением типа, то информация будет теряться. Поэтому от программиста требуется высокая внимательность и понимание размеров и устройства используемых типов переменных.

5)  программа  Dc_5.cpp

управления свойствами потоков Ввода-Вывода С++

в поток cout напрявляют специальные мантпуляторы потока, которые влияют на вывод последующиго данного. dec  - десятичный формат , oct - восьмеричный формат, hex - шестнадцатиричный формат.

Подключение библиотеки    #include <iomanip> позволяет задать ширину поля вывода и «точность»:

              setprecision(40) – Манипулятор setprecision позволяет вашим программам управлять количеством цифр, выводимых справа от десятичной точки для значений с плавающей точкой  , (Количество выводимых значащих цифр )  

Для того, чтобы setprecision устанавливал кол-во цифр, отображаемых справа от десятичной точки следует выводить объект в режиме fixed:

fixed – установка вывода чисел в научной нотации или с фиксированной точкой

                    cout <<  fixed << setpecision(3)<< 1.0/7.0<< endl;

              setw(42)   - установка ширины поля вывода (width)

6)  программа  Dc_6.cpp

Ввод из файлов в С++

#include <fstream>         подключение библиотеки    для  открытия файлов

ifstream infile("1.dat");                  // по умолчанию - чтение ТЕКСТА

- infile   является потоком  ввода (infile  имеет тип  ifstream – input file stream)

Как и в языке Си, это указатель.

Если он нулевой (NULL), то это означает, что файл не открылся и тогда проверка  

      if( !infile )  

            cout << "ошибка открытия файла" << endl;

- выведит сообщение об ошибке.

  infile>>a;      А так можно просто вводить данные.

7)  программа  Dc_7.cpp

Программа, иллюстрирующая функцию с предопределенными значениями (значения по умолчанию).

int get_volume(int length,  int width = 2,  int height = 3);

Предопределенные значения (значения по умолчанию) ЛУЧШЕ задавать при объявлении функции и они задаютсяв списке аргументов последними , т.е. справа налево.

8)  программа  Dc_8.cpp

Программа чтения массивов из файла.

Программа выполняет действия с массивами фиксированных размеров.

Поэтому при вызове функции здесь не передаются размеры массивов, а передаются только адреса массивов.

Для того, чтобы не передавать в функию input() имя входного файла, переменные для работы с входной и выходной информацией объявлены и определены на глобальном уровне:

    ifstream  inf("2.dat");   

    ofstream  outf("output.dat");

Строка вида

//  int  A[3][2]={1,1,1,1,1,1}, B[2][3]={1,1,1,1,1,1}, C[3][3];  // "заглушка "

используется при отладке программы вместо ввода из файла, а потом удаляется.

9)  программа  Dc_9.cpp

Операции определения переменных

Похожие материалы

Информация о работе

Предмет:
Информатика
Тип:
Методические указания и пособия
Размер файла:
61 Kb
Скачали:
0