| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- #ifndef CONFIG_H
- #define CONFIG_H
- #include <QString>
- #include <array>
- #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<Interval, EVAL_COUNT> 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<double, EVAL_COUNT> 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
|