Информатика 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)
- выведит сообщение об ошибке.
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
Операции определения переменных
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.