В этой задаче следует разместить описание структуры в заголовочном файле, а определения функций и главную функцию программы – в двух отдельных файлах.
Варианты заданий.
1) Для хранения данных о цветных сканерах описать структуру (запись) вида:
Type scan_info = record
model : string[25]; { наименование модели }
price : integer; { цена }
x_size : real; { горизонтальный размер области сканирования}
y_size : real; { вертикальный размер области сканирования}
opt_r : integer; { оптическое разрешение }
gray : integer { число градаций серого }
end;
Написать функцию, которая записывает в бинарный файл данные о сканере из приведенной Структуры. Структура файла: в первых двух байтах размещается значение типа int, определяющее количество сделанных в файл записей; далее без пропусков размещаются записи о сканерах.
Написать функцию, которая извлекает из этого файла данные о сканере в структуру типа scaninfo. Обязательный параметр — номер требуемой записи. Функция должна возвращать нулевое значение, если чтение прошло успешно, и -1 в противном случае.
Привести пример программы, создающей файл с данными о сканерах (данные вводятся с клавиатуры) — 6-8 записей и выводящей на дисплей данные о запрошенной записи.
Все необходимые данные для функций должны передаваться им в качестве параметров. Использование глобальных переменных в функциях не допускается.
2) Для хранения данных о цветных планшетных сканерах описать структуру вида, описанного в варианте 1.
Написать функцию, которая записывает в бинарный файл данные а сканере из приведенной структуры. Структура файла: в первых двух байтах размещается значение типа int, определяющее количество сделанных в файл записей; далее без пропусков размещаются записи о сканерах.
Написать функцию, которая сортирует записи в описанном выше бинарном файле по одной из следующих характеристик: цена либо число градаций серого. Обязательный параметр — признак, задающий критерий сортировки.
Привести пример программы, создающей файл с данными о сканерах (данные вводятся с клавиатуры) из не менее восьми записей и осуществляющий его сортировку.
Все необходимые данные для функций должны передаваться им в качестве параметров. Использование глобальных переменных в функциях не допускается.
3) Для хранения данных о цветных планшетных сканерах описать структуру вида, описанного в варианте 1.
Написать функцию, которая записывает в бинарный файл данные о сканере из приведенной структуры. Структура файла: в первых четырех байтах размещается значение типа long, определяющее количество сделанных в файл записей; далее без пропусков размещаются записи о сканерах.
Написать функцию, которая сортирует записи в описанном выше бинарном файле по наименованию модели сканера.
Привести пример программы, создающей файл с данными о сканерах (данные вводятся с клавиатуры) из не менее восьми записей и осуществляющий его сортировку.
Все необходимые данные для функций должны передаваться им в качестве параметров. Использование глобальных переменных в функциях не допускается.
4) Для хранения данных о цветных планшетных сканерах описать структуру вида, описанного в варианте 1.
Написать функцию, которая динамически выделяет память под массив структур (не меньше шести элементов), заполняет его данными в режиме диалога и записывает массив в бинарный файл. Структура файла: в первых двух байтах размещается значение типа int, определяющее количество сделанных в файл записей; далее без пропусков размещаются записи о сканерах.
Написать функцию, которая извлекает данные о сканере из описанного выше бинарного файла в структуру типа scaninfo. Обязательный параметр — номер требуемой записи. Функция должна возвращать нулевое значение, если чтение прошло успешно, и -1 в противном случае.
Привести пример программы, создающей файл с данными о сканерах (данные вводятся с клавиатуры) из не менее восьми записей и осуществляющий вывод на дисплей данных о требуемой записи.
Все необходимые данные для функций должны передаваться им в качестве параметров. Использование глобальных переменных в функциях не допускается.
5)Для хранения данных о цветных планшетных, сканерах описать структуру вида, описанного в варианте 1.
Написать функцию, которая записывает данные о сканере из приведенной структуры в требуемую позицию в бинарном файле. Структура файла: в первых двух байтах размещается значение типа int, определяющее количество сделанных в файл записей; далее без пропусков размещаются записи о сканерах. Запись может осуществляться в любую позицию, причем если между вводимой записью и последней (или началом файла) имеются пропуски, они заполняются нулями.
Написать функцию, которая «уплотняет» описанный выше бинарный файл путем удаления из него записей, содержащих все нули.
Привести пример программы, создающей файл с данными о сканерах (данные вводятся с клавиатуры) из не менее шести записей и осуществляющий его уплотнение.
Все необходимые данные для функций должны передаваться им в качестве параметров. Использование глобальных переменных в функциях не допускается.
6) Для хранения данных о ноутбуках описать структуру (запись) вида:
Type NOTEBOOK = record
model : string[21]; { наименование модели }
price : integer; { цена }
x_size : integer; { разрешающая способность дисплея по горизонтали }
y_size : real; { разрешающая способность дисплея по вертикали }
d : float; { размер диагонали дисплея }
f : integer { частота регенерации }
end;
Написать функцию, которая читает данные о ноутбуках из файла note.txt (см. в конце раздела) в структуру приведенного вида. Написать функцию, которая записывает содержимое структуры в конец бинарного файла. Структура бинарного файла: первые два байта (целое) — число записей в файле; далее записи в формате структуры NOTEBOOK.
Написать программу, в которой на основе разработанных функций осуществляется чтение данных только для тех ноутбуков, частота процессора которых больше 120 МГц, и запись в бинарный файл по убыванию цены.
7) Для хранения данных о ноутбуках описать структуру вида, описанного в варианте 6.
Написать функцию, которая читает данные о ноутбуках из файла note.txt (см. в конце раздела) в структуру приведенного вида. Написать функцию, которая записывает содержимое структуры в конец бинарного файла. Структура бинарного файла: первые два байта (целое) — число записей в файле; далее записи в формате структуры NOTEBOOK.
Написать программу, в которой на основе разработанных функций осуществляется чтение данных только для тех ноутбуков, объем HDD которых меньше 1 Гбайт, и запись считанных данных в бинарный файл в алфавитном порядке по наименованию.
8) Для хранения данных о ноутбуках описать структуру вида, описанного в варианте 6.
Написать функцию, которая читает данные о ноутбуках из файла note.txt (см.в конце раздела) в структуру приведенного вида. Написать функцию, которая записывает содержимое структуры в конец бинарного файла. Структура бинарного файла: первые два байта (целое) — число записей в файле; далее записи в формате структуры NOTEBOOK.
Написать программу, в которой на основе разработанных функций осуществляется запись в двоичный файл данных только о тех ноутбуках, целое количество которых в, одном кубическом метре не превышает 285 штук.
9) Для хранения данных о ноутбуках описать структуру вида:
struct NOTEBOOK {
struct disp_res{ // разрешающая способность дисплея
int x: // по горизонтали
int у; // по вертикали .
};
int f; // частота регенерации
float d; // размер диагонали дисплея
int price; // цена
char model [21]; // наименование
}
Написать функцию, которая читает данные о ноутбуках из файла note.txt (см. в конце раздела) в структуру приведенного вида. Написать функцию, которая записывает содержимое структуры в конец бинарного файла. Структура бинарного файла: первые два байта — целое число записей в файле; далее записи в формате структуры NOTEBOOK.
Написать программу, в которой на основе разработанных функций осуществляется запись в двоичный файл данных только о тех ноутбуках, вес которых менее 7 кг, отсортированных в порядке возрастания цены.
10) Для хранения данных о ноутбуках описать структуру вида, описанного в варианте 9:
Написать функцию, которая читает данные о ноутбуках из файла note.txt (см. в конце раздела) в структуру приведенного вида. Написать функцию, которая записывает содержимое структуры в конец бинарного файла. Структура бинарного файла: первые два байта — целое число записей в файле; далее записи в формате структуры NOTEBOOK.
Написать программу, в которой на основе разработанных функций осуществляется запись в двоичный файл данных только о тех ноутбуках, объем видеопамяти которых 2 Мбайт, отсортированных в порядке уменьшения тактовой частоты процессора.
В файле note.txt находится текстовая информация о ноутбуках. Каждая строка содержит данные об одной модели. Данные в строке размещаются в следующих полях:
1 : 20 - наименование модели;
21 : 24 - цена в долларах (целое число);
26 :28 - масса ноутбука в кг (число с десятичной точкой из четырех символов);
30 : 43 - габаритные размеры ноутбука в дюймах (ВЫСОТАхДЛИНАхШИРИНА - три числа с десятичной точкой (4 символа, включая точку, разделенные 'х');
44 : 47 - частота процессора в МГц (целое число из трех символов);
49:50 - максимальный объем ОЗУ в мегабайтах (целое число из двух символов);
52 : 55 - размер диагонали дисплея в дюймах (число с десятичной точкой из четырех символов, включая точку);
57 - размер видеопамяти в мегабайтах - целое число из одного символа;
59 : 67 - разрешающая способность дисплея в пикселах (два целых числа, разделенные Y);
69 : 70 - частота регенерации дисплея в Гц (целое число из двух символов);
72 : 76 - объем HDD в гигабайтах (число с десятичной точкой из пяти символов).