Работа со структурами - C# (182695)
Формулировка задачи:
Есть задание следующего типа: И часть кода в основном файле
Но всё не могу понять, как в основном файле выполнить проверку введённых дат на условие из TDate ? Как правильно оформлять if ?
Описать тип 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();
}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("нет");
}