
- •Структуры. Файлы
- •Пример организации интерфейса в виде меню
- •Пример получения битового представления вещественного числа
- •Пример заполнения полей массива структур
- •Более сложный пример использования массива структур
- •Пример использования многофайловой компиляции
- •1. Описать структуру с именем student, содержащую следующие поля:
- •2. Написать программу, выполняющую следующие действия:
- •Вывод символов в текстовый файл
- •Ввод символов из текстового файла
- •Вывод строк в текстовый файл
- •Ввод из текстового файла строк
- •Чтение и вывод на экран буфера текстового файла
- •Пример использования функций, текстовых файлов и многофайловой компиляции
- •1. Описать структуру с именем student, содержащую следующие поля:
- •2. Написать программу, выполняющую следующие действия:
- •Ввод-вывод в двоичный файл
- •Пример использования функций, бинарных файлов и многофайловой компиляции
- •1. Описать структуру с именем student, содержащую следующие поля:
- •2. Написать программу, выполняющую следующие действия:
- •Аргументы командной строки
- •Задание параметров программы в командной строке
- •Возможные ошибки при записи в файл или чтении из него
- •Определение размера файла
- •Удаление файла
- •Переименование файла
Лабораторная работа 6
Структуры. Файлы
(материал, который необходимо проработать до выполнения лабораторной работы)
Пример организации интерфейса в виде меню 2
Пример получения битового представления вещественного числа 4
Пример заполнения полей массива структур 5
Более сложный пример использования массива структур 6
Пример использования многофайловой компиляции 9
Форматированный вывод в файл, используя << 11
Форматированное чтение из файла, используя >> 11
Вывод символов в текстовый файл 12
Ввод символов из текстового файла 12
Вывод строк в текстовый файл 12
Ввод из текстового файла строк 13
Чтение и вывод на экран буфера текстового файла 13
Пример использования функций, текстовых файлов и многофайловой компиляции 13
Ввод-вывод в двоичный файл 16
Пример использования функций, бинарных файлов и многофайловой компиляции 17
Аргументы командной строки 19
Задание параметров программы в командной строке 19
Возможные ошибки при записи в файл или чтении из него 20
Определение размера файла 21
Удаление файла 21
Переименование файла 22
Пример организации интерфейса в виде меню
////////////////////////////////////////////////////////////////
Пример получения битового представления вещественного числа
#include <iostream>
void binary (double x); //вывод через объединение
int main()
{
double x;
cout << "vvedite x" <<" ";
cin >> x;
binary (x);
_getch();
return 0;
}
void binary (double x)
{int j,i;
union {double ss;
unsigned char c[sizeof(double)];
} cod;
cod.ss=x;
for (j=sizeof (double)-1; j>=0; j--) {
cout<<"dvoichnoe predstavlenie byte "<<j<<":";
for (i=128;i;i>>=1) //проход по битам
if (i&cod.c[j]) cout<<"1"; //выделение бита
else cout<<"0";
cout<<"\n";
}
}
////////////////////////////////////////////////////////////////
//вывод через битовые поля
void binary_pole (unsigned char ch) //вывод на экран двоичного представления байта
{ union { //определение локального объединяющего типа
unsigned char ss;
struct {
unsigned a0:1; //каждый бит получает название
unsigned a1:1;
unsigned a2:1;
unsigned a3:1;
unsigned a4:1;
unsigned a5:1;
unsigned a6:1;
unsigned a7:1;
} byte;
} cod; //определение локальный переменной-объединения
cod.ss=ch; //занесение в объединение значения аргумента функции
cout << "nomera bitov: 7 6 5 4 3 2 1 0\n";
cout <<"znachenie: ";
cout << " " << cod.byte.a7 << " " << cod.byte.a6 ; //так как все биты
cout << " " << cod.byte.a5 << " " << cod.byte.a4 ; //имеют названия
cout << " " << cod.byte.a3 << " " << cod.byte.a2 ;
cout << " " << cod.byte.a1 << " " << cod.byte.a0 ;
cout <<endl;
}