Курсова робота "Створення програми для генерації та роботи з QR-кодами на мові C" Ладікова Максима (25 гр)
Додавання бібліотек
#include - базова бібліотека для написання C++ коду, забезпечує ввід/вивід інформації;
#include - Для роботи з елементами типу string;
#include - Для роботи з бітовими операціями;
#include - Для роботи з векторами (динамічними масивами даних);
using namespace std; - для спрощення запису стандартних елементів.
Функція fullfill
Ця функція заповнює строку Binary(Бінарну послідовність) до розміру maxsize(залежить від версії QR-коду), додаючи строки "11101100" та "00010001" по черзі.
Фукнція gf_indexOf
Ця функція шукає індекс елемента value у векторі gf, перебираючи елементи динамічного масиву, і у випадку співпадіння з value повертає індекс
const std::vector& gf - константне посилання на вектор цілих чисел. Використання константного посилання дозволяє уникнути копіювання вектора і захищає його від змін всередині функції.
Функція для побітового складення за модулем 255 у полі Галуа
Результат побітового складення за модулем 255 - залишок від ділення суми доданків на 255
Функція addCorrectionBytes
Ця функція реалізовує алгоритм Рида Соломона(створює байти корекції), нижче наведена більш детальна інформація
Ця частина зберігає значення першого елементу в масиві, і додає нуль в кінці
Перевірка, чи не є збереженний байт нулем(нуль необіхдно пропустити)

Побітове складення за модулем 2

Повернення вектора з байтами корекції

Основна частина. Блок 1 - Кодування інформації
Отримання інформації від користувача

Перевірка на коректність вводу і перетворення інформації на бінарну послідовність, збереження її у нову змінну

Блок 2 - Додавання службової інформації і заповнення

Моя програма підтримує з першої по шосту версії QR-кода, цей код виведе помилку якщо користувач спробує закодувати забагато даних
Блок 3 - Розподіл інформації на блоки



