Организация методов пользовательских классов - 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();
        }
    }
}

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


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

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

9   голосов , оценка 4.333 из 5
Похожие ответы