Реализовать класс "Экзамен" - C#
Формулировка задачи:
1. Реализовать класс согласно условия по варианту.
2. Для каждого класса написать конструктор (по умолчанию и с параметром),
3. Добавить метод вывода данных на экран (в формате поле = значение).
Работа с классом в методе main():
1. Создать массив из минимум 5 объектов класса.
2. Объект с индексом 2 должен быть пустым.
3. Последний объект в массиве создается с помощью конструктора по умолчанию. Все остальные с помощью конструктора с параметром.
4. Вывести данные на экран.
ЭКЗАМЕН: ФИО студента, дата, оценка, перечень вопросов.
Решение задачи: «Реализовать класс "Экзамен"»
textual
Листинг программы
using System; using System.Collections.Generic; namespace TestConsole { /// <summary> /// Класс экзамен. /// </summary> class Exam { #region Fields /// <summary> /// ФИО студента. /// </summary> private string _fio; /// <summary> /// Дата экзамена. /// </summary> private DateTime _dateExam; /// <summary> /// Оценка. /// </summary> private int _appraisal; /// <summary> /// Перечень вопросов. /// </summary> private List<string> _listOfIssues; #endregion Fields #region Properties /// <summary> /// ФИО студента. /// </summary> public string FIO { get { return _fio; } set { if (_fio == value) return; _fio = value; } } /// <summary> /// Дата экзамена. /// </summary> public DateTime DateExam { get { return _dateExam; } set { if (_dateExam == value) return; _dateExam = value; } } /// <summary> /// Оценка. /// </summary> public int Appraisal { get { return _appraisal; } set { if (_appraisal == value) return; _appraisal = value; } } /// <summary> /// Перечень вопросов. /// </summary> public List<string> ListOfIssues { get { return _listOfIssues; } set { if (_listOfIssues == value) return; _listOfIssues = value; } } #endregion Properties #region Constructors /// <summary> /// Конструктор по умолчанию. /// </summary> public Exam() { } /// <summary> /// Конструктор с параметром. /// </summary> /// <param name="exam">Копируемый объект.</param> public Exam(Exam exam) { this._fio = exam._fio; this._dateExam = exam._dateExam; this._appraisal = exam._appraisal; this._listOfIssues = new List<string>(exam._listOfIssues); } #endregion Constructors } class Program { static void Main(string[] args) { Exam[] listExam = new Exam[5]; listExam[0] = new Exam(new Exam() { FIO = "Иванов Иван Иванович", DateExam = new DateTime(2016, 12, 23), Appraisal = 5, ListOfIssues = new List<string>() { "Вопрос 1?", "Вопрос 2?" } }); listExam[1] = new Exam(new Exam() { FIO = "Петров Петр Петрович", DateExam = new DateTime(2016, 12, 24), Appraisal = 5, ListOfIssues = new List<string>() { "Вопрос 3?", "Вопрос 4?" } }); listExam[2] = new Exam(); listExam[3] = new Exam(new Exam() { FIO = "Василий Васильевич Васильев", DateExam = new DateTime(2016, 12, 25), Appraisal = 5, ListOfIssues = new List<string>() { "Вопрос 5?", "Вопрос 6?" } }); listExam[4] = new Exam(); listExam[4].FIO = "Сидоров Сидор Сидорович"; listExam[4].DateExam = new DateTime(2016, 12, 26); listExam[4].Appraisal = 3; listExam[4].ListOfIssues = new List<string>(); listExam[4].ListOfIssues.Add("Вопрос 7?"); listExam[4].ListOfIssues.Add("Вопрос 8?"); _Show(listExam); Console.ReadKey(); } #region Methods /// <summary> /// Выводит на экран список объектов типа Exam. /// </summary> /// <param name="listExam">Выводимый список объектов.</param> private static void _Show(Exam[] listExam) { for(int i = 0; i < listExam.Length; i++) { Console.WriteLine("Фио: " + listExam[i].FIO); Console.WriteLine("Дата проведения экзамена: " + listExam[i].DateExam.ToString("yyyy.MM.dd")); Console.WriteLine("Оценка: " + listExam[i].Appraisal); // Проверяем, проиниализирован список или нет if (listExam[i].ListOfIssues != null) { for (int j = 0; j < listExam[i].ListOfIssues.Count; j++) { Console.WriteLine("Вопрос: " + listExam[i].ListOfIssues[j]); } } Console.WriteLine(); } } #endregion Methods } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д