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

1. Описать структуру с именем scan_info, содержащую следующие данные о цветных планшетных сканерах:

  • наименование модели;

  • цена;

  • горизонтальный размер области сканирования;

  • вертикальный размер области сканирования;

  • оптическое разрешение;

  • число градаций серого.

2. Написать функцию, которая записывает в бинарный файл данные о сканере из приведенной структуры. Структура файла: в первых двух байтах размещается значение типа int, определяющее количество сделанных в файл записей; далее без пропусков размещаются записи о сканерах.

3. Написать функцию, которая вводит данные о сканере с клавиатуры в структуру типа scan_info, и если данные об этом сканере отсутствуют в бинарном файле, помещает содержимое структуры в конец файла; в противном случае выдает соответствующее сообщение.

4. Привести пример программы, создающей файл с данными о сканерах (данные вводятся с клавиатуры) – 6-8 записей и дополняющей файл тремя записями о новых сканерах.

Вариант 8.

1. Описать структуру с именем scan_info, содержащую следующие данные о цветных планшетных сканерах:

  • наименование модели;

  • цена;

  • горизонтальный размер области сканирования;

  • вертикальный размер области сканирования;

  • оптическое разрешение;

  • число градаций серого.

2. Написать функцию, которая записывает в бинарный файл данные о сканере из приведенной структуры. Структура файла: в первых двух байтах размещается значение типа int, определяющее количество сделанных в файл записей; далее без пропусков размещаются записи о сканерах.

3. Написать функцию, которая вводит данные о сканере с клавиатуры в структуру типа scan_info и помещает ее содержимое на место первой записи в рассмотренном бинарном файле. Файл должен существовать. При этом запись, ранее занимавшая первую позицию, помещается на вторую, вторая запись на третью, и т.д.

4. Привести пример программы, создающей файл с данными о сканерах (данные вводятся с клавиатуры) – 6-8 записей и дополняющей этот файл двумя новыми записями, вводимыми с клавиатуры.

Вариант 9.

1. Описать структуру с именем scan_info, содержащую следующие данные о цветных планшетных сканерах:

  • наименование модели;

  • цена;

  • горизонтальный размер области сканирования;

  • вертикальный размер области сканирования;

  • оптическое разрешение;

  • число градаций серого.

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

3. Написать функцию, которая записывает данный массив в создаваемый бинарный файл. Если цена сканера меньше 200, то данные об этом сканере в файл не записываются. Информация об остальных сканерах помещается в бинарный файл, причем сначала пишутся данные о всех сканерах, имя которых начинается с заглавной буквы, а затем – с прописной.

Структура файла: в первых четырех байтах размещается значение типа long, определяющее количество сделанных в файл записей; далее без пропусков размещаются записи о сканерах.

4. Привести пример программы, создающей файл с данными о сканерах и осуществляющей вывод на экран данных о требуемой записи (либо всех, либо по номеру).

Вариант 10.

Пусть имеется файл note.txt, содержащий текстовую информацию о ноутбуках. Каждая строка содержит данные об одной модели. Например:

Acer Note Light 2699 5.6 02.0x11.8x08.3 100 40 10.4 1 1024x0768 60 0.774

Данные в строке размещаются в следующих полях:

1:20 – наименование модели;

21:24 – цена (целое число);

26:28 – масса ноутбука в кг (число с десятичной точкой из четырех символов);

30:43 – габаритные размеры ноутбука в дюймах (высотахдлинахширина – три числа с десятичной точкой (4 символа, включая точку, разделенные ‘x’));

44:47 – частота процессора в МГц (целое число из трех символов);

49:50 – максимальный объем ОЗУ в мегабайтах (целое число из двух символов);

52:55 – размер диагонали дисплея в дюймах (число с десятичной точкой из четырех символов, включая точку);

57 – размер видеопамяти в мегабайтах – целое число из одного символа;

59:67 – разрешающая способность дисплея в пикселах (два целых числа, разделенные ‘x‘);

69:70 – частота регенерации дисплея в Гц (целое число из двух символов);

72:76 – объем HDD в гигабайтах (число с десятичной точкой из пяти символов).

Все неописанные позиции заполнены пробелами.