Sua tarefa é escrever um programa que permita aos professores criar um teste de múltipla escolha em uma classe chamada Testpaper e também atribuir uma nota mínima para aprovação. A classe Testpaper deve implementar a interface ITestpaper fornecida no modelo de código, que tem as seguintes propriedades:
string Subjectstring[] MarkSchemestring PassMarkAs interfaces não definem construtores para as classes que as implementam, portanto você precisará adicionar um método construtor que receba os parâmetros (string subject, string[] markScheme, string passMark).
Além disso, precisamos criar objetos de alunos para fazer o teste! Crie outra classe chamada Student que implemente a interface IStudent fornecida, que tem os seguintes membros:
string[] TestsTakenvoid TakeTest(ITestpaper paper, string[] answers)paper1 = new Testpaper("Maths", new string[] { "1A", "2C", "3D", "4A", "5A" }, "60%")
paper2 = new Testpaper("Chemistry", new string[] { "1C", "2C", "3D", "4A" }, "75%")
paper3 = new Testpaper("Computing", new string[] { "1D", "2C", "3C", "4B", "5D", "6C", "7A" }, "75%")
student1 = new Student()
student2 = new Student()student1.TestsTaken ➞ { "No tests taken" }
student1.TakeTest(paper1, new string[] { "1A", "2D", "3D", "4A", "5A" })
student1.TestsTaken ➞ { "Maths: Passed! (80%)" }
student2.TakeTest(paper2, { "1C", "2D", "3A", "4C" })
student2.TakeTest(paper3, { "1A", "2C", "3A", "4C", "5D", "6C", "7B" })
student2.TestsTaken ➞ { "Chemistry: Failed! (25%)", "Computing: Failed! (43%)" }TestsTaken deve retornar { "No tests taken" } quando nenhum teste tiver sido realizado ainda.TestsTaken deverá retornar um array de strings ordenado alfabeticamente pela matéria, no formato mostrado acima.