Не выводиться на экран результаты - C#

Узнай цену своей работы

Формулировка задачи:

Листинг программы
  1. using System;
  2. namespace ConsoleApplication1
  3. {
  4. /// <summary> /// Класс, предназначенный для хранения персональных данных
  5. /// </summary>
  6. public class Person
  7. {
  8. private string _name; // закрытое поле типа string, в котором хранится имя
  9. private string _surname; // закрытое поле типа string, в котором хранится фамилия
  10. private DateTime _birth; // закрытое поле типа DateTime для даты рождения
  11. /// <summary>
  12. /// Конструктор с тремя параметрами для инициализации всех полей класса
  13. /// </summary>
  14. /// <param name="name">Имя</param>
  15. /// <param name="surname">Фамилия</param>
  16. /// <param name="birth">Дата рождения</param>
  17. public Person(string name, string surname, DateTime birth)
  18. {
  19. _name = name;
  20. _surname = surname;
  21. _birth = birth;
  22. }
  23. /// <summary>
  24. /// Конструктор без параметров, инициализирующий все поля класса
  25. /// некоторыми значениями по умолчанию.
  26. /// Используется ссылка на конструктор с параметрами this(параметры).
  27. /// </summary>
  28. public Person()
  29. : this("UnknounName", "UnknownSurname", DateTime.Now)
  30. {
  31. }
  32. /*/// <summary>
  33. /// Конструктор без параметров, инициализирующий все поля класса
  34. /// можно реализовать без ссылки на конструктор с параметрами.
  35. /// Результаты будут идентичны
  36. /// </summary>
  37. public Person()
  38. {
  39. _name = "UnknounName";
  40. _surname = "UnknownSurname";
  41. _birth = DateTime.Now;
  42. }*/
  43. /// <summary>
  44. /// Свойство типа DateTime для доступа к полю с датой рождения
  45. /// </summary>
  46. public DateTime Birth
  47. {
  48. get
  49. {
  50. return _birth;
  51. }
  52. set
  53. {
  54. _birth = value;
  55. }
  56. }
  57. /// <summary>
  58. /// Свойство типа string для доступа к полю с именем
  59. /// </summary>
  60. public string Name
  61. {
  62. get
  63. {
  64. return _name;
  65. }
  66. set
  67. {
  68. _name = value;
  69. }
  70. }
  71. /// <summary>
  72. /// Свойство типа string для доступа к полю с фамилией
  73. /// </summary>
  74. public string Surname
  75. {
  76. get
  77. {
  78. return _surname;
  79. }
  80. set
  81. {
  82. _surname = value;
  83. }
  84. }
  85. /// <summary>
  86. /// Свойство типа int c методами get и set
  87. /// для получения информации (get) и изменения (set) года рождения
  88. /// в закрытом поле типа DateTime, в котором хранится дата рождения
  89. /// </summary>
  90. public int Year
  91. {
  92. get
  93. {
  94. return _birth.Year;
  95. }
  96. set
  97. {
  98. // т.к. свойство Year в переменных типа DateTime только на чтение,
  99. // изменяем год рождения, создавая дату заново, указывая вместо года value
  100. _birth = new DateTime(value, _birth.Month, _birth.Day);
  101. }
  102. }
  103. /// <summary>
  104. /// Перегруженная версия виртуального метода string ToString()
  105. /// для формирования строки со значениями всех полей класса
  106. /// </summary>
  107. /// <returns>Отформатированная строка</returns>
  108. public override string ToString()
  109. {
  110. return String.Format("Имя: {0}\nФамилия: {1}\nДата рождения: {2}",
  111. _name, _surname, _birth.ToShortDateString());
  112. }
  113. /// <summary>
  114. /// Виртуальный метод string ToShortString(),
  115. /// который возвращает строку, содержащую только имя и фамилию
  116. /// </summary>
  117. /// <returns>Отформатированная строка</returns>
  118. public virtual string ToShortString()
  119. {
  120. return String.Format("Имя: {0}\nФамилия: {1}", _name, _surname);
  121. }
  122. }
  123. }
  124. namespace ConsoleApplication1
  125. {
  126. class Program
  127. {
  128. static void Main(string[] args)
  129. {
  130. // Объявили экземпляр класса и вызвали конструктор по умолчанию
  131. Person pers1 = new Person();
  132. Console.WriteLine("Экземпляр класса с полями, заполненными по умолчанию:");
  133. Console.WriteLine(pers1.ToString());
  134. Console.WriteLine(pers1.ToShortString());
  135. // Объявили экземпляр класса
  136. Person pers2;
  137. Console.WriteLine();
  138. Console.WriteLine("Введите имя, фамилию, дату рождения через Enter");
  139. // Вызвали конструктор с параметрами, в которые считываем данные
  140. try
  141. {
  142. pers2 = new Person
  143. (
  144. Console.ReadLine(),
  145. // считываем имя
  146. Console.ReadLine(),
  147. // считываем фамилию
  148. DateTime.Parse(Console.ReadLine()));// считываем дату рождения
  149. }
  150. catch (Exception ex)
  151. {
  152. Console.WriteLine("Возникла следующая ошибка: {0}", ex.Message);
  153. pers2 = new Person();
  154. }
  155. Console.WriteLine("\nРезультат заполнения:\n{0}", pers2.ToString());
  156. // Изменяем поля имя, фамилия, год, используя свойства
  157. pers2.Name = "Полиграф";
  158. pers2.Surname = "Шариков";
  159. pers2.Year = 1925;
  160. Console.WriteLine("\nИзмененные свойства объекта pers2:");
  161. Console.WriteLine(pers2.ToString());
  162. }
  163. }
  164. }
помогите пожалуйста не выводиться на экран 1.результат заполнения 2. измененные свойства объекта. P.S на рисунке показано что должно получится делаю в Visual Studio 2013.

Решение задачи: «Не выводиться на экран результаты»

textual
Листинг программы
  1. Console.WriteLine(pers2.ToString());
  2. Console.Readln();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.2 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы