Тема: Розробка та реалізація програм із використанням колекцій для зберігання даних та файлового введення-виведення.
Мета роботи: отримати навички створення та реалізації програм, що використовують колекції для зберігання та опрацювання даних та реалізують операції введення-виведення із файлами.
-
Створити клас згідно завданням. Для зберігання об’єктів використовувати один з типів колекцій.
-
Створити інтерактивне меню, за допомогою якого надати можливість користувачеві виконувати додавання нових та вилучення існуючих елементів з колекції, файлові операції введення-виведення та запити відповідно варіанту завдання.
-
Реалізувати операції пошуку елементів у колекції, вилучення знайденого об’єкта та перегляд вмісту колекції.
-
У додаткових пунктах завдання (а саме на пункти e та f) бажано використовувати Map, або доцільний тип колекції.
P.S. Рекомендується використовувати графічний інтерфейс.
Student: id, Прізвище, Ім’я, По батькові, Дата народження, Адреса, Телефон, Факультет, Курс, Група.
Створити колекцію об’єктів. Вивести:
-
список студентів заданого факультету;
-
список студентів, які народились після заданого року;
-
список навчальної групи в порядку алфавіту;
-
список студентів впорядкований за алфавітом назви факультету, а для студентів одного факультету – за датою народження
-
список всіх факультетів, інформація про студентів яких є у програмі без повторів
-
для всіх факультетів, визначених у пункті e) визначити кількість студентів, що там навчаються та вивести цю інформацію у зручному вигляді.
Customer: id, Прізвище, Ім’я, По батькові, Дата народження, Адреса, Номер кредитної картки, Баланс рахунку (кількість грошей).
Створити колекцію об’єктів. Вивести:
-
список покупців, із вказаним іменем;
-
список покупців, у яких номер кредитної картки знаходиться в заданому інтервалі;
-
кількість та список покупців, які мають заборгованість (від’ємний баланс на карті) в порядку зростання заборгованості
-
список покупців, упорядкований за зростанням балансу рахунку, а при рівності балансів – за номером кредитної картки
-
список років народження покупців, зареєстрованих у програмі без повторів
-
для кожного року народження визначити покупця, що має найбільшу кількість грошей на картці
Patient: id, Прізвище, Ім’я, По батькові, Адреса, Телефон, Номер медичної карти, Діагноз.
Створити колекцію об’єктів. Вивести:
-
список пацієнтів, які мають вказаний діагноз в порядку зростання номерів медичної картки;
-
список пацієнтів, номер медичної карти у яких знаходиться в заданому інтервалі;
-
кількість та список пацієнтів, номер телефона яких починається з вказаної цифри;
-
список діагнозів пацієнтів (без повторів) із вказанням кількості пацієнтів, що мають цей діагноз у порядку спадання цієї кількості;
-
список діагнозів пацієнтів, зареєстрованих у системі без повторів;
-
для кожного діагнозу визначити кількість пацієнтів, яким він поставлений.
Abiturient: id, Прізвище, Ім’я, По батькові, Адреса, Телефон, Середній бал.
Створити колекцію об’єктів. Вивести:
-
список абітурієнтів із вказаним іменем, в порядку спадання середнього балу;
-
список абітурієнтів, середній бал у яких вище заданого;
-
вибрати задане число n абітурієнтів, що мають найвищий середній бал.
-
список абітурієнтів в порядку алфавіту за прізвищем, при збігу прізвищ – за іменами;
-
список років народження абітурієнтів в порядку зростання без повторів;
-
визначити кількість абітурієнтів кожного року народження.
Book: id, Назва, Автор, Видавництво, Рік видання, Кількість сторінок, Ціна.
Створити колекцію об’єктів. Вивести:
-
список книг заданого автора в порядку зростання року видання;
-
список книг, що видані заданим видавництвом;
-
список книг, що випущені після заданого року;
-
список авторів в алфавітному порядку;
-
список видавництв, книги яких зареєстровані в системі без повторів;
-
для кожного видавництва визначити список книг, виданих ним.
House: id, Номер квартири, Площа, Поверх, Кількість кімнат, Вулиця.
Створити колекцію об’єктів. Вивести:
-
список квартир, які мають задане число кімнат;
-
список квартир, які мають задане число кімнат та розташовані на поверсі, який знаходиться в заданому проміжку;
-
список квартир, які мають площу, що перевищує задану в порядку спадання площі. Якщо площа однакова – то в порядку зростання поверху;
-
список всіх квартир, в порядку зростання площі ;
-
список поверхів на яких розташовані квартири, у порядку спадання;
-
для кожного поверху визначити список квартир
Phone: id, Прізвище, Ім’я, По батькові, Номер рахунку, Час міських розмов, Час міжміських розмов.
Створити колекцію об’єктів. Вивести:
-
відомості про абонентів, у яких час міських розмов перевищує заданий;
-
відомості про абонентів, які користувались міжміським зв’язком в порядку алфавіту за прізвищем, при однакових прізвищах – за іменами, потім по-батькові;
-
відомості про абонентів чий номер рахунку знаходиться у вказаному діапазоні;
-
відомості про всіх абонентів в порядку зростання сумарного часу розмов;
-
список міст, телефони з яких зареєстровані в системі;
-
для кожного міста визначити список телефонів з нього.
Car: id, Модель, Рік випуску, Ціна, Реєстраційний номер.
Створити колекцію об’єктів. Вивести:
-
список автомобілів заданої моделі в порядку зростання року випуску;
-
список автомобілів заданої моделі, які експлуатуються більше n років;
-
список автомобілів заданого року випуску, ціна яких більше вказаної;
-
список автомобілів в порядку спадання ціни. Якщо ціна однакова, то в порядку зростання року випуску;
-
список моделей автомобілів, зареєстрованих у програмі;
-
для кожної моделі вивести список автомобілів.
Product: id, Найменування, Виробник, Ціна, Термін зберігання, Кількість.
Створити колекцію об’єктів. Вивести:
-
список товарів для заданого найменування в порядку спадання терміну зберігання;
-
список товарів для заданого найменування, ціна яких не перевищує задану;
-
список товарів, термін зберігання яких більше заданого;
-
список товарів, впорядкований за зростанням вартості (кількість * ціна), якщо вартість однакова, то за спаданням ціни;
-
список виробників продуктів, зареєстрованих в програмі;
-
для кожного виробника вивести список продуктів, які він виробляє.
Train: id, Пункт призначення, Номер поїзду, Час відправки, Число місць (загальних, купе, плацкарт, люкс).
Створити колекцію об’єктів. Вивести:
-
список поїздів, які прямують до заданого пункту призначення в порядку зростання часу відправки, якщо час однаковий – за зростанням номеру поїзда;
-
список поїздів, які прямують до заданого пункту призначення та відправляються після заданої години;
-
список поїздів, які відправляються до заданого пункту призначення та мають загальні місця;
-
список поїздів, які відправляються до заданого пункту призначення в порядку зростання кількості всіх місць;
-
список пунктів призначення (без повторів) в порядку зростання кількості поїздів, що до них прямують, якщо кількість однакова – в порядку алфавіту;
-
для кожного пункту призначення вивести список поїздів, які до нього прямують.