Я пишу свою курсовую работу, темой которой является система тестирования. Это означает, что пользователь сможет пройти другие наборы тестов и написать свои собственные тесты. Во-первых, мне нужно создать типы данных моей программы.
Я придумываю хэш-таблицу, в которой будут храниться тестовые задания, содержащие тестовую тему и односвязные списки вопросов и ответов.
Вот мои типы данных, но я не знаю, как связать их друг с другом.
#include <string>
/* One test set */
class Testlist {
struct node {
string question;
string answers[4];
node *next;
};
public:
Testlist();
/* num - marker of the question or one of the answers */
void Addquestion(string name, int num);
};
class Test: public Testlist {
/* maximum number of tests */
static const int tablesize = 100;
/* Member of the hash-table */
struct item {
string testname; /* Test name */
Testlist *set; /* Set of questions and answers to them */
Test *next;
};
/* Hash table of tests */
item *testtable[NHASH];
public:
Test();
unsigned int hash(string key);
void AddItem(string name, int create);
};
Как я могу работать со следующим указателем односвязного списка в этом случае? Пожалуйста, объясните мне, как я могу правильно это реализовать.