Работа со структурами - C# (182926)
Формулировка задачи:
Всем доброго дня!
имеется вопрос по работе со структурами на C#. Вот условие задания:
Второй файл, остальной код для работы:
Вопрос вот в чём. Когда запускаю на текущем этапе программу при работе с массивом в файле кода появляется ошибка, ссылающаяся на нулевой объект:
Как правильно его объявить ? Может массив я не правильно создал ?
Описать тип TDate — структура с полями целого типа Day (день), Month (месяц) и Year (год). Протестировать является ли дата правильной. Создать массив структур (не более чем для пяти дат). Вывести на экран те даты, у которых месяца являются зимними, в противном случае вывести сообщение «Нет дат, у которых месяца являются зимними».
В результате есть часть кода. Первый - это структура TDate:
Листинг программы
- using System;
- namespace Одномерные_массивы_и_структуры
- {
- internal class TDate
- {
- public int day, month, year;
- public Byte day1, month1, year1;
- public void Show()
- {
- Console.WriteLine("Введите дату");
- day = Int32.Parse(Console.ReadLine());
- month = Int32.Parse(Console.ReadLine());
- year = Int32.Parse(Console.ReadLine());
- if ((day > 0 && day <= 31) && (month > 0 && month <= 12) && (year > 0))
- {
- Console.WriteLine("Вы ввели следующую дату: " + day + ". " + month + ". " + year);
- }
- {
- Console.WriteLine("Дата введена не правильно. Повторите попытку");
- }
- }
- }
- }
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace Одномерные_массивы_и_структуры
- {
- class odnom_massiv
- {
- static void Main(string[] args)
- {
- TDate data = new TDate();
- int day, month, year;
- data.Show();
- Console.WriteLine("Введите 5 дат");
- //int n = Byte.Parse(Console.ReadLine());
- TDate[] mas = new TDate[5];
- for (int i = 0; i < 5; i++)
- {
- Console.WriteLine("Введите " + i + "-ю дату");
- Console.WriteLine("День");
- mas[i].day1 = Byte.Parse(Console.ReadLine());
- Console.WriteLine("Месяц");
- mas[i].month1 = Byte.Parse(Console.ReadLine());
- Console.WriteLine("Год");
- mas[i].year1 = Byte.Parse(Console.ReadLine());
- }
Решение задачи: «Работа со структурами»
textual
Листинг программы
- for (int i = 0; i < 5; i++) {
- mas[i] = new TDate();
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д