-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtestingwindow.h
More file actions
51 lines (43 loc) · 1.93 KB
/
testingwindow.h
File metadata and controls
51 lines (43 loc) · 1.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#ifndef TESTINGWINDOW_H
#define TESTINGWINDOW_H
#include "filemanager.h"
#include <QDialog>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlQueryModel>
#include <QJsonDocument>
#include <QJsonParseError>
#include <QJsonObject>
#include <QFile>
#include <QMessageBox>
#include <QDir>
#include <QtDebug>
namespace Ui {
class TestingWindow;
}
class TestingWindow : public QDialog
{
Q_OBJECT
public:
explicit TestingWindow(QWidget *parent = nullptr);
~TestingWindow();
private slots:
void on_nextQuestion_clicked();
void on_option1Button_clicked();
void on_option2Button_clicked();
void on_option3Button_clicked();
void on_option4Button_clicked();
void on_option5Button_clicked();
private:
Ui::TestingWindow *ui;
std::vector<int> userAnswers; // - Вектор ответов пользователя на вопросы
int questionNumber = 0; // - Номер вопроса на экране
QSqlQuery query; // - Очередь из БД
void DisplayFirstQuestion(); // - Вывести первый вопрос из SQLite базы на экран при запуске
void DisplayNextQuestion(); // - Вывести следующий вопрос
void registerAnswer(int index); // - Принять ответ пользователя на вопрос
int CalculateUserScore(); // - Посчитать результат пользователя (кол-во баллов)
int CalculateUserMark(int score); // - Посчитать какая оценка у пользователя за тест (оценить)
void ClearUI(); // - Удалить точки с радиокнопок при переходе на следующий вопрос
};
#endif // TESTINGWINDOW_H