Не выводиться на экран результаты - C#
Формулировка задачи:
Листинг программы
- using System;
- namespace ConsoleApplication1
- {
- /// <summary> /// Класс, предназначенный для хранения персональных данных
- /// </summary>
- public class Person
- {
- private string _name; // закрытое поле типа string, в котором хранится имя
- private string _surname; // закрытое поле типа string, в котором хранится фамилия
- private DateTime _birth; // закрытое поле типа DateTime для даты рождения
- /// <summary>
- /// Конструктор с тремя параметрами для инициализации всех полей класса
- /// </summary>
- /// <param name="name">Имя</param>
- /// <param name="surname">Фамилия</param>
- /// <param name="birth">Дата рождения</param>
- public Person(string name, string surname, DateTime birth)
- {
- _name = name;
- _surname = surname;
- _birth = birth;
- }
- /// <summary>
- /// Конструктор без параметров, инициализирующий все поля класса
- /// некоторыми значениями по умолчанию.
- /// Используется ссылка на конструктор с параметрами this(параметры).
- /// </summary>
- public Person()
- : this("UnknounName", "UnknownSurname", DateTime.Now)
- {
- }
- /*/// <summary>
- /// Конструктор без параметров, инициализирующий все поля класса
- /// можно реализовать без ссылки на конструктор с параметрами.
- /// Результаты будут идентичны
- /// </summary>
- public Person()
- {
- _name = "UnknounName";
- _surname = "UnknownSurname";
- _birth = DateTime.Now;
- }*/
- /// <summary>
- /// Свойство типа DateTime для доступа к полю с датой рождения
- /// </summary>
- public DateTime Birth
- {
- get
- {
- return _birth;
- }
- set
- {
- _birth = value;
- }
- }
- /// <summary>
- /// Свойство типа string для доступа к полю с именем
- /// </summary>
- public string Name
- {
- get
- {
- return _name;
- }
- set
- {
- _name = value;
- }
- }
- /// <summary>
- /// Свойство типа string для доступа к полю с фамилией
- /// </summary>
- public string Surname
- {
- get
- {
- return _surname;
- }
- set
- {
- _surname = value;
- }
- }
- /// <summary>
- /// Свойство типа int c методами get и set
- /// для получения информации (get) и изменения (set) года рождения
- /// в закрытом поле типа DateTime, в котором хранится дата рождения
- /// </summary>
- public int Year
- {
- get
- {
- return _birth.Year;
- }
- set
- {
- // т.к. свойство Year в переменных типа DateTime только на чтение,
- // изменяем год рождения, создавая дату заново, указывая вместо года value
- _birth = new DateTime(value, _birth.Month, _birth.Day);
- }
- }
- /// <summary>
- /// Перегруженная версия виртуального метода string ToString()
- /// для формирования строки со значениями всех полей класса
- /// </summary>
- /// <returns>Отформатированная строка</returns>
- public override string ToString()
- {
- return String.Format("Имя: {0}\nФамилия: {1}\nДата рождения: {2}",
- _name, _surname, _birth.ToShortDateString());
- }
- /// <summary>
- /// Виртуальный метод string ToShortString(),
- /// который возвращает строку, содержащую только имя и фамилию
- /// </summary>
- /// <returns>Отформатированная строка</returns>
- public virtual string ToShortString()
- {
- return String.Format("Имя: {0}\nФамилия: {1}", _name, _surname);
- }
- }
- }
- namespace ConsoleApplication1
- {
- class Program
- {
- static void Main(string[] args)
- {
- // Объявили экземпляр класса и вызвали конструктор по умолчанию
- Person pers1 = new Person();
- Console.WriteLine("Экземпляр класса с полями, заполненными по умолчанию:");
- Console.WriteLine(pers1.ToString());
- Console.WriteLine(pers1.ToShortString());
- // Объявили экземпляр класса
- Person pers2;
- Console.WriteLine();
- Console.WriteLine("Введите имя, фамилию, дату рождения через Enter");
- // Вызвали конструктор с параметрами, в которые считываем данные
- try
- {
- pers2 = new Person
- (
- Console.ReadLine(),
- // считываем имя
- Console.ReadLine(),
- // считываем фамилию
- DateTime.Parse(Console.ReadLine()));// считываем дату рождения
- }
- catch (Exception ex)
- {
- Console.WriteLine("Возникла следующая ошибка: {0}", ex.Message);
- pers2 = new Person();
- }
- Console.WriteLine("\nРезультат заполнения:\n{0}", pers2.ToString());
- // Изменяем поля имя, фамилия, год, используя свойства
- pers2.Name = "Полиграф";
- pers2.Surname = "Шариков";
- pers2.Year = 1925;
- Console.WriteLine("\nИзмененные свойства объекта pers2:");
- Console.WriteLine(pers2.ToString());
- }
- }
- }
Решение задачи: «Не выводиться на экран результаты»
textual
Листинг программы
- Console.WriteLine(pers2.ToString());
- Console.Readln();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д