Lab1 - tkmrqq/LaboratoryWorks GitHub Wiki
Лабораторная работа 1
Цель: освоить механизм структур языка С, научиться работать с массивами пользовательских типов данных.
Задача: написать программу для работы с массивом структур.
Условия приема:
- Оформление - (названия файлов, функций, переменных, отступы, структура проекта и т.п.) и небольшие баги должны быть исправлены. // Code name convention (camelCase, snake_case)
- Использование Git (использование файлов gitignore, README)
- Условие автомата: Sonar (Отсутствие багов и code Smells)
Условия:
- Выбрать любой подходящий объект для описания его с помощью структуры. В ней должно быть не менее трех полей, желательно, разных типов. Структура student (или аналогичная по смыслу) запрещена из-за своей банальности.
На 4-6
- Реализовать функцию для создания массива структур.
- Реализовать функцию для вывода массива структур на экран.
- Реализовать функцию для инициализации экземпляра структуры.
- Реализовать функции сортировки массива по каждому полю структуры. (Например, можно отсортировать студентов сначала по дате рождения, затем передумать и отсортировать по среднему баллу).
- Реализовать меню, для проверки функционала.
На 7-8
- Функции не должны привязываться к конкретному массиву: таковой должен передаваться в качестве аргумента.
- В качестве типа одного из полей структуры использовать enum (например, для цвета).
- Реализовать функцию для удаления структуры из массива.
- Реализовать сортировку по двум полям одновременно. (Например, отсортировать автомобили по цвету, на так чтобы все автомобили одного цвета шли в порядке года выпуска).
На 9-10
- Для заполнения структур распарсить html-файл любого списка или каталога.