im sitting here with a bit problem. I have to create a program to solve tests. There's need to be one basic class, and 4 inheriting from it, all for other kind of tasks (some with 1 answer, some with numeric answer etc.). Also need an task collection, an array of different class objects. Array containts different tasks, then i have to draw 10 tasks from it. Is there any easier way to do the task collection that im doing?
public class Program
{
public class Task
{
protected string contents;
protected int nr_pyt;
};
public class Task4Answ : Task
{
private
char odp;
public
Task4Answ(string contents1, int nr, string odp1)
{
contents = contents1;
nr_pyt = nr;
odp = odp1[0];
}
};
public class TaskNumber : Task
{
private
int odp;
public
TaskNumber(string contents1, int nr, int odp1)
{
contents = contents1;
nr_pyt = nr;
odp = odp1;
}
};
public class TaskString : Task
{
private
string odp;
public
TaskString(string contents1, int nr, string odp1)
{
contents = contents1;
nr_pyt = nr;
odp = odp1;
}
};
public class TaskFewAnsw : Task
{
private
string odp;
string odpp;
string odppp;
public
TaskFewAnsw(string contents1, int nr, string odp1,string odpp1, string odppp1)
{
contents = contents1;
nr_pyt = nr;
odp = odp1;
odpp = odpp1;
odppp = odppp1;
}
};
public class TaskCollection
{
public Task[] collection;
public TaskCollection()
{
collection = new Task[60];
collection[0] = new Task4Answ("Ile jest por roku w Polsce? \na) 1 \nb) 2 \nc) 3 \nd) 4", 1, "d");
collection[1] = new Task4Answ("Kto wygral tegoroczny Roland Garros? \na) Federer \nb) Djokovic \nc) Nadal \nd) Thiem", 1, "c");
collection[2] = new Task4Answ("Kto jest premierem Polski? \na) Macierewicz \nb) Duda \nc) Kaczynski \nd) Szydlo", 1, "d");
collection[3] = new Task4Answ("Ktore slowo kluczowe w C++ jest uzywane do deklarowania typu zmiennoprzecinkowego \na) Float \nb) Int \nc) Enum \nd) Struct", 1, "float");
collection[4] = new Task4Answ("Ktory z podanych modyfikatorow dostepu pozwala na uzywanie zmiennych klasy bazowej w klasach pochodnych, a w innych klasach nie? \na) Domyslny \nb) Public \nc) Private \nd) Protected", 1, "d");
collection[5] = new Task4Answ("Jakiego slowa kluczowego uzywamy do zwrocenia obiektu z funkcji? \na) Back \nb) Reversion \nc) Return \nd) Void", 1, "c");
collection[6] = new Task4Answ("Ktory z samochodow nalezy do fabryki Volkswagenta? \na) Mondeo \nb) Passat \nc) Vectra \nd) Yaris", 1, "b");
collection[7] = new Task4Answ("Ktory czlowiek na swiecie pierwszy stanal na ksiezycu? \na) Gagarin \nb) Lajka \nc) Armstrong \nd) Ahonen", 1, "c");
collection[8] = new Task4Answ("Ktory z samochodow nalezy do fabryki Opla? \na) Mondeo \nb) Passat \nc) Vectra \nd) Yaris", 1, "c");
collection[9] = new Task4Answ("Z iloma panstwami graniczy Polska? \na) 5 \nb) 6 \nc) 7 \nd) 8", 1, "c");
collection[10] = new Task4Answ("Od ktorego roku Polska nalezy do Unii Europejskiej? \na) 2004 \nb) 2006 \nc) 2002 \nd) 2000", 1, "a");
collection[11] = new Task4Answ("Kto jest obecnym prezesem PZPN? \na) Boniek \nb) Lato \nc) Listkiewicz \nd) Gmoch", 1, "a");
collection[12] = new Task4Answ("Ktora z planet posiada charakterystyczny pierscien? \na) Neptun \nb) Jowisz \nc) Saturn \nd) Merkury", 1, "c");
collection[13] = new Task4Answ("Za pomoca jakiego slowa kluczowego definiujemy szablony w C++? \na) Template \nb) Pattern \nc) Stencil \nd) Stereotype", 1, "a");
collection[14] = new Task4Answ("Ktory z podanych jezykow posiada interfejsy? \na) C++ \nb) C \nc) C# \nd) HTML", 1, "c");
collection[15] = new TaskNumber("Podaj date Bitwy Pod Grunwaldem", 15, 1410);
collection[16] = new TaskNumber("Podaj maksymalna predkosc w terenie zabudowanym", 16, 50);
collection[17] = new TaskNumber("W ktorym roku odbyly sie Mistrzostwa Europy w Pilce w Polsce?", 17, 2012);
collection[18] = new TaskNumber("Ile bajtow pamieci zajmuje typ long w jezyku C++?", 18, 8);
collection[19] = new TaskNumber("W ktorym roku w Polsce ogloszono stan wojenny?", 19, 1978);
collection[20] = new TaskNumber("Po dodaniu dwoch zmiennych typu int, ile bajtow pamieci zajmie zmienna przechowujaca wynik tego dodawania?", 20, 4);
collection[21] = new TaskNumber("Ile wynosi reszta z dzielenia liczby 60 przez liczbe 7?", 21, 4);
collection[22] = new TaskNumber("Ile wynosi pierwiastek z liczby 49?", 22, 7);
collection[23] = new TaskNumber("W ktorym roku rozpoczela sie II Wojna Swiatowa?", 23, 1939);
collection[24] = new TaskNumber("W ktorym roku mial miejsce chrzest Polski?", 24, 966);
collection[25] = new TaskNumber("Ile zlotych medali zdobyl Adam Malysz na Igrzyskach Olimpijskich?", 25, 0);
collection[26] = new TaskNumber("Ile lat trwa kadencja prezydenta w Polscce", 26, 4);
collection[27] = new TaskNumber("Jezeli na kazde 15 metrow kwadratowych przypada 6 wezy, ile wezy przypadnie na 90 metrow kwadratowych", 27, 36);
collection[28] = new TaskNumber("W ktorym roku mial miejsce atak terrorystyczny na World Trade Center", 28, 2002);
collection[29] = new TaskNumber("Jezeli 3 lata temu Ania ktora ma teraz 18lat byla 3 razy starsza od Tomka, to ile lat ma teraz Tomek", 29, 8);
collection[30] = new TaskString("Podaj wzor chemiczny wody", 30, "H2O");
collection[31] = new TaskString("Podaj gdzie urodzil sie Kopernik", 31, "Torun");
collection[32] = new TaskString("Na jakim instrumencie gral Fryderyk Chopin", 32, "Fortepian");
collection[33] = new TaskString("Podaj slowo kluczowe, ktorego uzywa sie do zwalniania pamieci w C++", 33, "Delete");
collection[34] = new TaskString("Jak nazywa sie program w C# pelniacy role destruktora?", 34, "Garbage Collector");
collection[35] = new TaskString("Jakiego slowa kluczowego uzywamy w C# do przyslaniania funkcji klasy bazowej?", 35, "Override");
collection[36] = new TaskString("Jakie miasto jest stolica Kanady?", 36, "Ottawa");
collection[37] = new TaskString("Jaka jest najwieksza wyspa na swiecie?", 37, "Grenlandia");
collection[38] = new TaskString("Skad pochodzi sprinter Usain Bolt?", 38, "Jamajka");
collection[39] = new TaskString("Jakiego slowa kluczowego uzywamy do deklarowania klas abstrakcyjnych w C#", 30, "Abstact");
collection[40] = new TaskString("Jakiego slowa kluczowego uzywamy do deklarowania klas wirtualnych w C#", 40, "Virtual");
collection[41] = new TaskString("Podaj slowo kluczowe, ktorego uzywa sie do deklarowania struktur w C# i C++", 41, "Struct");
collection[42] = new TaskString("Jak nazywa sie dziedzina nauki, zajmujaca sie m.in kosmosem?", 42, "Astronomia");
collection[43] = new TaskString("Podaj nazwe jednostki cisnienia", 43, "Pascal");
collection[44] = new TaskString("Podaj nazwisko angielskiego uczonego, ktory sformuowal zasade zachowania energii", 44, "Newton");
collection[45] = new TaskFewAnsw("Wymien 3 modyfikatory dostepu w C++", 45, "Public","Private","Protected");
collection[46] = new TaskFewAnsw("Jakie miasta były stolicami Polski?", 46, "Warszawa","Krakow","Gniezno");
collection[47] = new TaskFewAnsw("Wymien daty rozpoczecia obu wojen swiatowych", 47, "1939","1914","");
collection[48] = new TaskFewAnsw("Podaj nazwy dwoch najludniejszych panstw na swiecie?", 49, "Chiny","Indie","");
collection[49] = new TaskFewAnsw("Podaj nazwy dwoch najwiekszych panstw na swiecie", 49, "Rosja","Kanada","");
}
Then here i have to draw 10 tasks from this collection, but i can't just copy it from collection cause all are from different classes.