Заполнить массив объектами другого класса - 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();
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д