# Student Sorter [](https://isocpp.org/) [](https://docs.microsoft.com/en-us/dotnet/desktop/winforms/) [](https://visualstudio.microsoft.com/) Десктопное приложение для автоматизированной обработки и сортировки студенческих заявлений с функционалом определения потребности в общежитии. ## 📋 Описание Student Sorter — это Windows-приложение, разработанное на C++/CLI с использованием Windows Forms, предназначенное для эффективного управления данными студентов в образовательных учреждениях. Приложение позволяет сортировать студентов по различным критериям и автоматически определять необходимость предоставления общежития на основе места прописки. ## ✨ Основные возможности - **Управление студенческими данными**: Добавление, редактирование и удаление информации о студентах - **Многокритериальная сортировка**: Сортировка по ФИО, направлению обучения, адресу прописки и льготам - **Автоматическое определение потребности в общежитии**: Анализ места прописки для выявления иногородних студентов - **Интуитивный графический интерфейс**: Удобная работа с данными через WinForms - **Статистическая отчетность**: Визуализация данных и генерация отчетов - **Импорт/экспорт данных**: Поддержка работы с внешними файлами данных ## 🛠 Технологический стек - **Язык программирования**: C++/CLI - **GUI Framework**: Windows Forms (.NET Framework 4.8) - **IDE**: Microsoft Visual Studio 2022 - **Компилятор**: MSVC v143 - **Библиотеки**: - System.Windows.Forms - System.Data - System.Drawing - RSREU.IO (кастомная библиотека для сериализации) ## 📁 Структура проекта ``` InvestWinApp/ ├── InvestWinApp.cpp # Точка входа в приложение ├── MyForm.h/.resx # Главная форма приложения ├── AddApplicant.h/.resx # Форма добавления студента ├── config.h # Конфигурация и структуры данных ├── pch.h # Предкомпилированные заголовки ├── Resource.h # Ресурсы приложения ├── stock.dat # Файл данных студентов └── stud.txt # Тестовые данные ``` ## 🚀 Быстрый старт ### Системные требования - Windows 10/11 - .NET Framework 4.8 - Visual Studio 2019/2022 с поддержкой C++/CLI - RSREU.IO библиотека (включена в проект) ### Установка и запуск 1. **Клонирование репозитория**: ```bash git clone https://github.com/EDeev/student_sorter.git cd student_sorter ``` 2. **Открытие проекта**: - Запустите Visual Studio - Откройте файл `InvestWinApp.sln` 3. **Сборка проекта**: - Выберите конфигурацию (Debug/Release) - Нажмите `Build` → `Build Solution` (Ctrl+Shift+B) 4. **Запуск**: - Нажмите `Debug` → `Start Debugging` (F5) ## 📊 Структура данных Приложение работает со структурой `Applicant`: ```cpp [Serializable] ref struct Applicant { String^ surname; // Фамилия String^ name; // Имя String^ patro; // Отчество String^ address; // Адрес прописки String^ benefit; // Льготы UInt32 score_UGE; // Баллы ЕГЭ String^ trend; // Направление обучения }; ``` ## 🔧 Функциональность ### Главное окно (MyForm) - Отображение списка студентов в табличном виде - Сортировка по всем доступным полям - Фильтрация данных - Экспорт отчетов ### Добавление студента (AddApplicant) - Форма для ввода данных нового студента - Валидация введенных данных - Автоматическое определение потребности в общежитии ### Обработка данных - Сериализация/десериализация с использованием RSREU.IO - Автоматическое сохранение изменений - Резервное копирование данных ## 📈 Алгоритм определения потребности в общежитии 1. Анализ поля `address` студента 2. Сравнение с базой местных адресов 3. Классификация как "нуждается в общежитии" или "местный" 4. Автоматическое обновление статуса ## 📝 Лицензия Проект распространяется под лицензией MIT. ## 👨💻 Автор **Деев Егор Викторович** - Backend Developer - GitHub: [@EDeev](https://github.com/EDeev) - Email: egor@deev.space - Telegram: [@Egor_Deev](https://t.me/Egor_Deev) ---
Создано с ❤️ от вашего дорогого - deev.space ©