Реализовать класс календаря, используя для хранения дат массив - C#
Формулировка задачи:
Задача такая: реализовать класс календаря, используя для хранения дат массив.
Разработать индексатор для класса.
Дальше в Main не хочет заполнять массив. У меня уже мозги сломались.
class Kalendar { // поля int day; // номер дня месяца int month; // номер месяца int year; // номер года Kalendar[][] storage; // хранилище для дат года // свойства (свойства Day, Month, Year {get;set;} существуют) public Kalendar this [int i,int j] // индексатор { get { return this.storage[i][j]; //(вот сюда выводит индекс находился вне границ массива) } set { this.storage[i][j] = value; } } // конструктор public Kalendar(int Day, int Month, int Year) { day = Day; month = Month; year = Year; storage = new Kalendar[Month][]; }
class Program { static void Main(string[] args) { Console.WriteLine("\tЗаполняем новый календарь значениями."); Console.Write("\tВведите день : "); int dayN = Convert.ToInt32(Console.ReadLine()); Console.Write("\tВведите месяц : "); int monthN = Convert.ToInt32(Console.ReadLine()); Console.Write("\tВведите год : "); int yearN = Convert.ToInt32(Console.ReadLine()); int daysInMonth = DateTime.DaysInMonth(yearN, monthN); int monthInYear=12; for (int i = 1; i <= monthInYear; i++) for (int j = 1; j <= daysInMonth;j++ ) { Kalendar kalendar = new Kalendar(j, i, yearN); kalendar[monthN, dayN] = kalendar[i, j]; } Console.ReadKey(); }
Решение задачи: «Реализовать класс календаря, используя для хранения дат массив»
textual
Листинг программы
static void Main(string[] args) { Dates dat = new Dates(1990, 2013); Console.WriteLine(dat[1999][9][28]); Console.WriteLine(dat[1999, 9][28]); Console.WriteLine(dat[1999, 9, 28]); Console.Read(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д