Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб_6_метод_указания.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
334.34 Кб
Скачать

Лабораторная работа 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;

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]