#ifndef CONFIG_H #define CONFIG_H #include #include #include "interval.h" /** * @name Thesis Evaluation Constants * @{ */ /** * @brief Total number of evaluation grades (A through Fx). */ static constexpr size_t EVAL_COUNT = 6; /** * @brief List of intervals used to map a numerical average to a letter grade. * @details Each @ref Interval object defines a minimum value, a maximum value, * and its corresponding grade string (e.g., "A", "B", ...). */ static const std::array EVAL_INTERVALS = { Interval(1.00, 1.25, "A"), Interval(1.26, 1.75, "B"), Interval(1.76, 2.25, "C"), Interval(2.26, 2.75, "D"), Interval(2.76, 3.25, "E"), Interval(3.26, 4.00, "Fx") }; /** * @brief Numerical equivalents of individual grades used to calculate the weighted average. * @details The order of values exactly mirrors the order in @ref EVAL_INTERVALS * (index 0 = A, index 5 = Fx). */ static const std::array EVAL_NUM_VALUES = { 1.0, // A 1.5, // B 2.0, // C 2.5, // D 3.0, // E 4.0 // Fx }; /** * @brief Weight of the thesis supervisor's evaluation (35%). */ static constexpr double WEIGHT_THESIS_SUPERVISOR = 0.35; /** * @brief Weight of the thesis examiner's (reviewer's) evaluation (35%). */ static constexpr double WEIGHT_THESIS_EXAMINER = 0.35; /** * @brief Weight of the thesis defense/presentation evaluation (30%). */ static constexpr double WEIGHT_THESIS_PRESENTATION = 0.30; /** * @brief Verbal assessment for an unsuccessful defense (grade Fx or failing to meet thresholds). */ static const QString EVAL_TOTAL_BAD = "nedostatočne"; /** * @brief Verbal assessment for a successful defense. */ static const QString EVAL_TOTAL_OK = "vyhovel"; /** * @brief Verbal assessment for an excellent defense outcome. */ static const QString EVAL_TOTAL_WELL = "výborne"; /** * @brief Threshold value to qualify for the "excellent" (@ref EVAL_TOTAL_WELL) assessment. * @details If the final weighted average is less than or equal to this threshold, * the student receives the highest total grade. */ static constexpr double EVAL_TOTAL_WELL_THRESHOLD = 1.5; /** @} */ // End of Thesis Evaluation Constants group #endif // CONFIG_H