########## створення, доповнення, заміна, видалення, запити ##########
Лабораторна робота №11, завдання 2 (варіант 19)
Виконав: студент групи ІПЗ-11 Одарчук Олексій
Обробка бінарних файлів
Файл даних: sales.dat

============================================================
Меню команд:
  1 - створити масив структур і записати до бінарного файлу
  2 - вивести вміст бінарного файлу
  3 - доповнити файл новими записами
  4 - замінити вибраний запис (прямий доступ)
  5 - видалити вибраний запис
  6 - запит: комп'ютери у заданому регіоні заданої фірми
  7 - запит: вартість проданого ПЗ у задані терміни
  8 - запит: найрентабельніші фірми
  9 - вихід
Оберіть команду (1..9): 1

Уведіть кількість записів (1..200): 4
Спосіб створення:
  1 - введення з клавіатури
  2 - генерація псевдовипадкових даних
Оберіть спосіб (1..2): 1

  --- запис 1 ---
  Назва фірми: Everest
  Вид продукту (1 - комп'ютери, 2 - ПЗ): 1
  Назва продукту: Optima 5
  Регіон збуту: Київський
  Вартість продажу: 25000
  Термін постачання:
    рік (2000..2100): 2025
    місяць (1..12): 3
    день (1..31): 15

  --- запис 2 ---
  Назва фірми: Everest
  Вид продукту (1 - комп'ютери, 2 - ПЗ): 2
  Назва продукту: OblikPro
  Регіон збуту: Київський
  Вартість продажу: 12000
  Термін постачання:
    рік (2000..2100): 2025
    місяць (1..12): 5
    день (1..31): 20

  --- запис 3 ---
  Назва фірми: Kvazar
  Вид продукту (1 - комп'ютери, 2 - ПЗ): 1
  Назва продукту: Titan X
  Регіон збуту: Львівський
  Вартість продажу: 31000
  Термін постачання:
    рік (2000..2100): 2025
    місяць (1..12): 7
    день (1..31): 1

  --- запис 4 ---
  Назва фірми: Kvazar
  Вид продукту (1 - комп'ютери, 2 - ПЗ): 2
  Назва продукту: DocFlow
  Регіон збуту: Київський
  Вартість продажу: 9000
  Термін постачання:
    рік (2000..2100): 2025
    місяць (1..12): 5
    день (1..31): 5

Масив структур записано до бінарного файлу sales.dat. Кількість записів: 4.

============================================================
Меню команд:
  1 - створити масив структур і записати до бінарного файлу
  2 - вивести вміст бінарного файлу
  3 - доповнити файл новими записами
  4 - замінити вибраний запис (прямий доступ)
  5 - видалити вибраний запис
  6 - запит: комп'ютери у заданому регіоні заданої фірми
  7 - запит: вартість проданого ПЗ у задані терміни
  8 - запит: найрентабельніші фірми
  9 - вихід
Оберіть команду (1..9): 2


Вміст бінарного файлу sales.dat

  №   Фірма         Продукт         Вид         Регіон збуту    Вартість     Термін постачання 
  ---------------------------------------------------------------------------------------------
  1.  Everest       Optima 5        комп'ютери  Київський       25000.00     15.03.2025        
  2.  Everest       OblikPro        ПЗ          Київський       12000.00     20.05.2025        
  3.  Kvazar        Titan X         комп'ютери  Львівський      31000.00     01.07.2025        
  4.  Kvazar        DocFlow         ПЗ          Київський       9000.00      05.05.2025        

  Записів у файлі: 4

============================================================
Меню команд:
  1 - створити масив структур і записати до бінарного файлу
  2 - вивести вміст бінарного файлу
  3 - доповнити файл новими записами
  4 - замінити вибраний запис (прямий доступ)
  5 - видалити вибраний запис
  6 - запит: комп'ютери у заданому регіоні заданої фірми
  7 - запит: вартість проданого ПЗ у задані терміни
  8 - запит: найрентабельніші фірми
  9 - вихід
Оберіть команду (1..9): 3

Скільки записів дописати (1..196): 1

  --- новий запис 1 ---
  Назва фірми: Sokil
  Вид продукту (1 - комп'ютери, 2 - ПЗ): 1
  Назва продукту: Nova Pro
  Регіон збуту: Київський
  Вартість продажу: 15000
  Термін постачання:
    рік (2000..2100): 2025
    місяць (1..12): 6
    день (1..31): 10

Дописано записів: 1. Усього у файлі: 5.

============================================================
Меню команд:
  1 - створити масив структур і записати до бінарного файлу
  2 - вивести вміст бінарного файлу
  3 - доповнити файл новими записами
  4 - замінити вибраний запис (прямий доступ)
  5 - видалити вибраний запис
  6 - запит: комп'ютери у заданому регіоні заданої фірми
  7 - запит: вартість проданого ПЗ у задані терміни
  8 - запит: найрентабельніші фірми
  9 - вихід
Оберіть команду (1..9): 2


Вміст бінарного файлу sales.dat

  №   Фірма         Продукт         Вид         Регіон збуту    Вартість     Термін постачання 
  ---------------------------------------------------------------------------------------------
  1.  Everest       Optima 5        комп'ютери  Київський       25000.00     15.03.2025        
  2.  Everest       OblikPro        ПЗ          Київський       12000.00     20.05.2025        
  3.  Kvazar        Titan X         комп'ютери  Львівський      31000.00     01.07.2025        
  4.  Kvazar        DocFlow         ПЗ          Київський       9000.00      05.05.2025        
  5.  Sokil         Nova Pro        комп'ютери  Київський       15000.00     10.06.2025        

  Записів у файлі: 5

============================================================
Меню команд:
  1 - створити масив структур і записати до бінарного файлу
  2 - вивести вміст бінарного файлу
  3 - доповнити файл новими записами
  4 - замінити вибраний запис (прямий доступ)
  5 - видалити вибраний запис
  6 - запит: комп'ютери у заданому регіоні заданої фірми
  7 - запит: вартість проданого ПЗ у задані терміни
  8 - запит: найрентабельніші фірми
  9 - вихід
Оберіть команду (1..9): 4

Номер запису для заміни (1..5): 2

  --- новий вміст запису 2 ---
  Назва фірми: Everest
  Вид продукту (1 - комп'ютери, 2 - ПЗ): 2
  Назва продукту: SklavSoft
  Регіон збуту: Одеський
  Вартість продажу: 7000
  Термін постачання:
    рік (2000..2100): 2025
    місяць (1..12): 5
    день (1..31): 25

Запис 2 замінено.

============================================================
Меню команд:
  1 - створити масив структур і записати до бінарного файлу
  2 - вивести вміст бінарного файлу
  3 - доповнити файл новими записами
  4 - замінити вибраний запис (прямий доступ)
  5 - видалити вибраний запис
  6 - запит: комп'ютери у заданому регіоні заданої фірми
  7 - запит: вартість проданого ПЗ у задані терміни
  8 - запит: найрентабельніші фірми
  9 - вихід
Оберіть команду (1..9): 2


Вміст бінарного файлу sales.dat

  №   Фірма         Продукт         Вид         Регіон збуту    Вартість     Термін постачання 
  ---------------------------------------------------------------------------------------------
  1.  Everest       Optima 5        комп'ютери  Київський       25000.00     15.03.2025        
  2.  Everest       SklavSoft       ПЗ          Одеський        7000.00      25.05.2025        
  3.  Kvazar        Titan X         комп'ютери  Львівський      31000.00     01.07.2025        
  4.  Kvazar        DocFlow         ПЗ          Київський       9000.00      05.05.2025        
  5.  Sokil         Nova Pro        комп'ютери  Київський       15000.00     10.06.2025        

  Записів у файлі: 5

============================================================
Меню команд:
  1 - створити масив структур і записати до бінарного файлу
  2 - вивести вміст бінарного файлу
  3 - доповнити файл новими записами
  4 - замінити вибраний запис (прямий доступ)
  5 - видалити вибраний запис
  6 - запит: комп'ютери у заданому регіоні заданої фірми
  7 - запит: вартість проданого ПЗ у задані терміни
  8 - запит: найрентабельніші фірми
  9 - вихід
Оберіть команду (1..9): 5

Номер запису для видалення (1..5): 3

Запис 3 видалено. Залишилось записів: 4.

============================================================
Меню команд:
  1 - створити масив структур і записати до бінарного файлу
  2 - вивести вміст бінарного файлу
  3 - доповнити файл новими записами
  4 - замінити вибраний запис (прямий доступ)
  5 - видалити вибраний запис
  6 - запит: комп'ютери у заданому регіоні заданої фірми
  7 - запит: вартість проданого ПЗ у задані терміни
  8 - запит: найрентабельніші фірми
  9 - вихід
Оберіть команду (1..9): 2


Вміст бінарного файлу sales.dat

  №   Фірма         Продукт         Вид         Регіон збуту    Вартість     Термін постачання 
  ---------------------------------------------------------------------------------------------
  1.  Everest       Optima 5        комп'ютери  Київський       25000.00     15.03.2025        
  2.  Everest       SklavSoft       ПЗ          Одеський        7000.00      25.05.2025        
  3.  Kvazar        DocFlow         ПЗ          Київський       9000.00      05.05.2025        
  4.  Sokil         Nova Pro        комп'ютери  Київський       15000.00     10.06.2025        

  Записів у файлі: 4

============================================================
Меню команд:
  1 - створити масив структур і записати до бінарного файлу
  2 - вивести вміст бінарного файлу
  3 - доповнити файл новими записами
  4 - замінити вибраний запис (прямий доступ)
  5 - видалити вибраний запис
  6 - запит: комп'ютери у заданому регіоні заданої фірми
  7 - запит: вартість проданого ПЗ у задані терміни
  8 - запит: найрентабельніші фірми
  9 - вихід
Оберіть команду (1..9): 6

Уведіть регіон збуту: Київський
Уведіть назву фірми:  Everest

Запит 1. Комп'ютери, що продаються у регіоні "Київський" фірмою "Everest"
Результат записано до бінарного файлу computers.dat

  №   Фірма         Продукт         Вид         Регіон збуту    Вартість     Термін постачання 
  ---------------------------------------------------------------------------------------------
  1.  Everest       Optima 5        комп'ютери  Київський       25000.00     15.03.2025        

  Знайдено записів: 1, сумарна вартість: 25000.00

============================================================
Меню команд:
  1 - створити масив структур і записати до бінарного файлу
  2 - вивести вміст бінарного файлу
  3 - доповнити файл новими записами
  4 - замінити вибраний запис (прямий доступ)
  5 - видалити вибраний запис
  6 - запит: комп'ютери у заданому регіоні заданої фірми
  7 - запит: вартість проданого ПЗ у задані терміни
  8 - запит: найрентабельніші фірми
  9 - вихід
Оберіть команду (1..9): 7

Початок періоду постачання:
  рік (2000..2100): 2025
  місяць (1..12): 5
  день (1..31): 1
Кінець періоду постачання:
  рік (2000..2100): 2025
  місяць (1..12): 6
  день (1..31): 1

Запит 2. Програмне забезпечення з терміном постачання з 01.05.2025 до 01.06.2025
Результат записано до бінарного файлу software.dat

  №   Фірма         Продукт         Вид         Регіон збуту    Вартість     Термін постачання 
  ---------------------------------------------------------------------------------------------
  1.  Everest       SklavSoft       ПЗ          Одеський        7000.00      25.05.2025        
  2.  Kvazar        DocFlow         ПЗ          Київський       9000.00      05.05.2025        

  Знайдено записів: 2
  Вартість проданого програмного забезпечення: 16000.00

============================================================
Меню команд:
  1 - створити масив структур і записати до бінарного файлу
  2 - вивести вміст бінарного файлу
  3 - доповнити файл новими записами
  4 - замінити вибраний запис (прямий доступ)
  5 - видалити вибраний запис
  6 - запит: комп'ютери у заданому регіоні заданої фірми
  7 - запит: вартість проданого ПЗ у задані терміни
  8 - запит: найрентабельніші фірми
  9 - вихід
Оберіть команду (1..9): 8


Запит 3. Сумарна вартість продажів по фірмах

  Фірма           Продажів    Сумарна вартість    
  ------------------------------------------------
  Everest         2           32000.00            
  Kvazar          1           9000.00             
  Sokil           1           15000.00            

Найрентабельніші фірми (з найбільшою вартістю продажів)
Результат записано до бінарного файлу firms.dat

  Фірма           Продажів    Сумарна вартість    
  ------------------------------------------------
  Everest         2           32000.00            

============================================================
Меню команд:
  1 - створити масив структур і записати до бінарного файлу
  2 - вивести вміст бінарного файлу
  3 - доповнити файл новими записами
  4 - замінити вибраний запис (прямий доступ)
  5 - видалити вибраний запис
  6 - запит: комп'ютери у заданому регіоні заданої фірми
  7 - запит: вартість проданого ПЗ у задані терміни
  8 - запит: найрентабельніші фірми
  9 - вихід
Оберіть команду (1..9): 9

Завершення роботи.

########## неіснуючий файл ##########
Лабораторна робота №11, завдання 2 (варіант 19)
Виконав: студент групи ІПЗ-11 Одарчук Олексій
Обробка бінарних файлів
Файл даних: sales.dat

============================================================
Меню команд:
  1 - створити масив структур і записати до бінарного файлу
  2 - вивести вміст бінарного файлу
  3 - доповнити файл новими записами
  4 - замінити вибраний запис (прямий доступ)
  5 - видалити вибраний запис
  6 - запит: комп'ютери у заданому регіоні заданої фірми
  7 - запит: вартість проданого ПЗ у задані терміни
  8 - запит: найрентабельніші фірми
  9 - вихід
Оберіть команду (1..9): 2

Файл sales.dat не існує. Спочатку створіть його.

============================================================
Меню команд:
  1 - створити масив структур і записати до бінарного файлу
  2 - вивести вміст бінарного файлу
  3 - доповнити файл новими записами
  4 - замінити вибраний запис (прямий доступ)
  5 - видалити вибраний запис
  6 - запит: комп'ютери у заданому регіоні заданої фірми
  7 - запит: вартість проданого ПЗ у задані терміни
  8 - запит: найрентабельніші фірми
  9 - вихід
Оберіть команду (1..9): 6

Уведіть регіон збуту: Київський
Уведіть назву фірми:  Everest
Файл sales.dat не існує. Спочатку створіть його.

============================================================
Меню команд:
  1 - створити масив структур і записати до бінарного файлу
  2 - вивести вміст бінарного файлу
  3 - доповнити файл новими записами
  4 - замінити вибраний запис (прямий доступ)
  5 - видалити вибраний запис
  6 - запит: комп'ютери у заданому регіоні заданої фірми
  7 - запит: вартість проданого ПЗ у задані терміни
  8 - запит: найрентабельніші фірми
  9 - вихід
Оберіть команду (1..9): 8

Файл sales.dat не існує. Спочатку створіть його.

============================================================
Меню команд:
  1 - створити масив структур і записати до бінарного файлу
  2 - вивести вміст бінарного файлу
  3 - доповнити файл новими записами
  4 - замінити вибраний запис (прямий доступ)
  5 - видалити вибраний запис
  6 - запит: комп'ютери у заданому регіоні заданої фірми
  7 - запит: вартість проданого ПЗ у задані терміни
  8 - запит: найрентабельніші фірми
  9 - вихід
Оберіть команду (1..9): 9

Завершення роботи.
