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

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

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

Есть задание следующего типа:

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

Создал структуру TDate для проверки
namespace Одномерные_массивы_и_структуры
{
    struct TDate
    {
        public int day, mes, god;
        public void Show()
        {
            Console.WriteLine(day + ", " + mes + ", " + god);
        }     
        public bool Wisokosh()
        {
            return (god % 4 == 0) && !(god % 100 == 0 && god % 400 != 0);
        }
        public bool Prawilnia()
        {
            bool rez = true;
            if (mes < 0 || mes > 12)
                rez = false;
            else
            {
                switch (mes)
                {
                    case 1: { rez = (day >= 1 && day <= 31); break; }
                    case 2:
                        {
                            if (Wisokosh() == true)
                            {
                                rez = (day >= 1 && day <= 29); break;
                            }
                            else
                            {
                                rez = (day >= 1 && day <= 28);
                                break;
                            }
                        }
                    case 3: { rez = (day >= 1 && day <= 31); break; }
                    case 4: { rez = (day >= 1 && day <= 30); break; }
                    case 5: { rez = (day >= 1 && day <= 31); break; }
                    case 6: { rez = (day >= 1 && day <= 30); break; }
                    case 7: { rez = (day >= 1 && day <= 31); break; }
                    case 8: { rez = (day >= 1 && day <= 31); break; }
                    case 9: { rez = (day >= 1 && day <= 30); break; }
                    case 10: { rez = (day >= 1 && day <= 31); break; }
                    case 11: { rez = (day >= 1 && day <= 30); break; }
                    case 12: { rez = (day >= 1 && day <= 31); break; }
                }
 
            }
            return rez;

        }
    }
}
И часть кода в основном файле
 TDate data = new TDate();
            int i;
            data.day = 0;
            data.mes = 0;
            data.god = 0;
            data.Show();
            Console.WriteLine("Введите 5 дат");
            TDate[] mas = new TDate[5];

                for (i = 0; i < 5; i++)
                {
                    Console.WriteLine("День");
                    mas[i].day = Int32.Parse(Console.ReadLine());
                    Console.WriteLine("Месяц");
                    mas[i].mes = Int32.Parse(Console.ReadLine());
                    Console.WriteLine("Год");
                    mas[i].god = Int32.Parse(Console.ReadLine());
                }
 
            for (i = 0; i < 5; i++)
            {
                mas[i].Show();
            }
Но всё не могу понять, как в основном файле выполнить проверку введённых дат на условие из TDate ? Как правильно оформлять if ?
if (data.Prawilnia())
                {
                Console.WriteLine("ДА!!!!!!");
            }
                else
                {
                    Console.WriteLine("ddd");

                }

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

textual
Листинг программы
TDate data = new TDate();
            int i;
            data.day = 0;
            data.mes = 0;
            data.god = 0;
            data.Show();
            Console.WriteLine("Введите 5 дат");
            TDate[] mas = new TDate[5];
            
            
                for (i = 0; i < 5; i++)
                {
                    Console.WriteLine("День");
                    mas[i].day = Int32.Parse(Console.ReadLine());
                    Console.WriteLine("Месяц");
                    mas[i].mes = Int32.Parse(Console.ReadLine());
                    Console.WriteLine("Год");
                    mas[i].god = Int32.Parse(Console.ReadLine());
                }
 
            for (i = 0; i < 5; i++)
            {
                mas[i].Show();
                if (mas[i].Prawilnia())
                Console.WriteLine("ДА!!!!!!");
                else
                    Console.WriteLine("нет");
 
            }

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


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

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

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