Организация методов пользовательских классов - C#
Формулировка задачи:
Описать структуру с именем ZNAK, содержащую следующие поля:
- фамилия, имя;
- знак Зодиака;
- дата рождения (массив из трех чисел).
Написать программу, выполняющую следующие действия:
- ввод с клавиатуры данных в массив, состоящий из восьми элементов
типа ZNAK (записи должны быть упорядочены по знакам Зодиака);
- вывод на экран информации о людях, родившихся в месяц, значение
которого введено с клавиатуры (если таких нет, вывести
соответствующее сообщение).
Решение задачи: «Организация методов пользовательских классов»
textual
Листинг программы
- using System;
- using System.Linq;
- namespace ConsoleApplication
- {
- struct ZNAK
- {
- string surname, name;
- public string znak;
- public int[] birthday;
- public ZNAK(string name, string surname, string znak, int day, int month, int year)
- {
- this.name = name;
- this.surname = surname;
- this.znak = znak;
- birthday = new int[] { day, month, year };
- }
- public override string ToString()
- {
- return String.Format("Имя: {0}\nФамилия: {1}\nЗнак: {2}\nДата рождения: {3}.{4}.{5}", name, surname, znak, birthday[0], birthday[1], birthday[2]);
- }
- }
- class Program
- {
- static void Main(string[] args)
- {
- ZNAK[] znaki = new ZNAK[8];
- string name, surname, znak;
- int day, month, year;
- for (int i = 0; i < znaki.Length; i++ )
- {
- Console.Write("Введите имя: ");
- name = Console.ReadLine();
- Console.Write("Введите фамилию: ");
- surname = Console.ReadLine();
- Console.Write("Введите знак: ");
- znak = Console.ReadLine();
- Console.Write("Введите день рождения: ");
- day = Int32.Parse(Console.ReadLine());
- Console.Write("Введите месяц рождения: ");
- month = Int32.Parse(Console.ReadLine());
- Console.Write("Введите год рождения: ");
- year = Int32.Parse(Console.ReadLine());
- znaki[i] = new ZNAK(name, surname, znak, day, month, year);
- }
- znaki = znaki.OrderBy(n => n.znak).ToArray();
- for (int i = 0; i < znaki.Length; i++)
- Console.WriteLine(znaki[i].znak);
- Console.Write("Введите месяц для поиска: ");
- int targetMonth = Int32.Parse(Console.ReadLine());
- bool exist = false;
- for(int i=0; i<znaki.Length; i++)
- {
- if (znaki[i].birthday[1] == targetMonth)
- {
- Console.WriteLine(znaki[i].ToString() + "\n");
- exist = true;
- }
- }
- if (!exist)
- Console.WriteLine("Записей нет");
- Console.ReadKey();
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д