Заполнить массив объектами другого класса - C#
Формулировка задачи:
доброго времени суток.
возникла следующая проблема:
есть у меня класс Exam:
И мне нужно в другом классе заполнить массив объектами этого класса, тоесть создать массив с информацией о нескольких екзаменах.
Я питался сделать так:
в классе Exam создал вот такой метод:
И потом делал так
Знаю, что делал по-глупому и неправильно, но ничего другого в голову не приходило.
Как мне это правильно реализовать?
class Exam { private string name_subject; private int mark; private System.DateTime date_exam; public Exam(string _name_subject, int _mark, System.DateTime _date_exam) { name_subject = _name_subject; mark = _mark; date_exam = _date_exam; } public Exam() { name_subject = "NULL"; mark = 0; date_exam = new DateTime(1990, 1, 1); } public string Name_subject { get { return name_subject; } set { name_subject = Console.ReadLine(); } } public int Mark { get { return mark; } set { mark = Convert.ToInt32(Console.Read()); } } public System.DateTime Date_of_Exam { get { return date_exam; } set { int year = Convert.ToInt32(Console.Read()); int month = Convert.ToInt32(Console.Read()); int day = Convert.ToInt32(Console.Read()); date_exam = new DateTime(year, month, day); } } public override string ToString() { return "Name of subject: " + '\n' + "Mark: " + mark + '\n' + "Date of exam: " + date_exam; } public void set_examens() { int year = Convert.ToInt32(Console.Read()); int month = Convert.ToInt32(Console.Read()); int day = Convert.ToInt32(Console.Read()); name_subject = Console.ReadLine(); mark = Convert.ToInt32(Console.Read()); date_exam = new DateTime(year, month, day); } }
public void set_examens() { int year = Convert.ToInt32(Console.Read()); int month = Convert.ToInt32(Console.Read()); int day = Convert.ToInt32(Console.Read()); name_subject = Console.ReadLine(); mark = Convert.ToInt32(Console.Read()); date_exam = new DateTime(year, month, day); }
public Exam[] Info_exams { set { for (int i = 0; i < 5; i++) { info_exams[i] = p.set_examens(); } } get { return info_exams; } }
Решение задачи: «Заполнить массив объектами другого класса»
textual
Листинг программы
namespace ConsoleApplication { class Program { class Exam { public string name_subject{ get; set; } public int mark { get; set; } public System.DateTime date_exam { get; set; } public Exam(string _name_subject, int _mark, System.DateTime _date_exam) { name_subject = _name_subject; mark = _mark; date_exam = _date_exam; } public Exam() { name_subject = "NULL"; mark = 0; date_exam = new DateTime(1990, 1, 1); } public string Name_subject { get { return name_subject; } set { name_subject = Console.ReadLine(); } } public int Mark { get { return mark; } set { mark = Convert.ToInt32(Console.Read()); } } public System.DateTime Date_of_Exam { get { return date_exam; } set { int year = Convert.ToInt32(Console.Read()); int month = Convert.ToInt32(Console.Read()); int day = Convert.ToInt32(Console.Read()); date_exam = new DateTime(year, month, day); } } public override string ToString() { return "Name of subject: " + '\n' + "Mark: " + mark + '\n' + "Date of exam: " + date_exam; } } class ExaminationList { List<Exam> exams = new List<Exam>(); public void AddExam(string name_subject, int mark, DateTime date_exam) { Exam exam = new Exam(name_subject, mark, date_exam); exams.Add(exam); } public void RemoveExam(Exam exam) { exams.Remove(exam); } public void ShowAllExam() { Console.WriteLine("Все оценки: "); foreach (var exam in exams) { Console.WriteLine(exam.name_subject + "\t" + exam.mark + "\t" + exam.date_exam); } } public int GetAmount() { return exams.Count; } } static void Main(string[] args) { var examinationList = new ExaminationList(); examinationList.AddExam("himia", 4, new DateTime(2016, 11, 21)); examinationList.AddExam("phisik", 5, new DateTime(2016, 11, 20)); examinationList.ShowAllExam(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д