Работа со структурами - C# (182926)

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

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

Всем доброго дня! имеется вопрос по работе со структурами на C#. Вот условие задания:

Описать тип TDate — структура с полями целого типа Day (день), Month (месяц) и Year (год). Протестировать является ли дата правильной. Создать массив структур (не более чем для пяти дат). Вывести на экран те даты, у которых месяца являются зимними, в противном случае вывести сообщение «Нет дат, у которых месяца являются зимними».

В результате есть часть кода. Первый - это структура TDate:
Листинг программы
  1. using System;
  2. namespace Одномерные_массивы_и_структуры
  3. {
  4. internal class TDate
  5. {
  6. public int day, month, year;
  7. public Byte day1, month1, year1;
  8. public void Show()
  9. {
  10. Console.WriteLine("Введите дату");
  11. day = Int32.Parse(Console.ReadLine());
  12. month = Int32.Parse(Console.ReadLine());
  13. year = Int32.Parse(Console.ReadLine());
  14. if ((day > 0 && day <= 31) && (month > 0 && month <= 12) && (year > 0))
  15. {
  16. Console.WriteLine("Вы ввели следующую дату: " + day + ". " + month + ". " + year);
  17. }
  18. {
  19. Console.WriteLine("Дата введена не правильно. Повторите попытку");
  20. }
  21. }
  22. }
  23. }
Второй файл, остальной код для работы:
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace Одномерные_массивы_и_структуры
  7. {
  8. class odnom_massiv
  9. {
  10. static void Main(string[] args)
  11. {
  12. TDate data = new TDate();
  13. int day, month, year;
  14. data.Show();
  15. Console.WriteLine("Введите 5 дат");
  16. //int n = Byte.Parse(Console.ReadLine());
  17. TDate[] mas = new TDate[5];
  18. for (int i = 0; i < 5; i++)
  19. {
  20. Console.WriteLine("Введите " + i + "-ю дату");
  21. Console.WriteLine("День");
  22. mas[i].day1 = Byte.Parse(Console.ReadLine());
  23. Console.WriteLine("Месяц");
  24. mas[i].month1 = Byte.Parse(Console.ReadLine());
  25. Console.WriteLine("Год");
  26. mas[i].year1 = Byte.Parse(Console.ReadLine());
  27. }
Вопрос вот в чём. Когда запускаю на текущем этапе программу при работе с массивом в файле кода появляется ошибка, ссылающаяся на нулевой объект:
Как правильно его объявить ? Может массив я не правильно создал ?

Решение задачи: «Работа со структурами»

textual
Листинг программы
  1. for (int i = 0; i < 5; i++) {
  2.   mas[i] = new TDate();
  3. }

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


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

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

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

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

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

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