Tu tarea es escribir un programa que permita a los profesores crear una prueba de opción múltiple en una clase llamada Testpaper y también poder asignar una calificación mínima para aprobar. La clase Testpaper debe implementar la interfaz ITestpaper proporcionada en la plantilla de código, que tiene las siguientes propiedades:
string Subjectstring[] MarkSchemestring PassMarkLas interfaces no definen constructores para las clases que las implementan, por lo que tendrás que agregar un método constructor que reciba los parámetros (string subject, string[] markScheme, string passMark).
Además, ¡debemos crear objetos de estudiantes para realizar la prueba! Crea otra clase llamada Student que implemente la interfaz IStudent proporcionada, que tiene los siguientes miembros:
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 debe devolver { "No tests taken" } cuando todavía no se haya realizado ninguna prueba.TestsTaken debe devolver un arreglo de cadenas ordenado alfabéticamente por asignatura, en el formato mostrado arriba.