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