Описать структуру с именем ZNAK - C# (199464)

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

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

Помогите сделать задание из практики, пожалуйста. В

Console C#

Задание:

Описать структуру с именем ZNAK, содержащую следующие поля: - фамилия, имя; - знак Зодиака; - дата рождения (массив из трех чисел). Написать программу, выполняющую следующие действия: - ввод с клавиатуры данных в массив, состоящий из восьми элементов типа ZNAK; записи должны быть упорядочены по датам рождения; - вывод на экран информации о людях, родившихся под знаком, название которого введено с клавиатуры; - если таких нет, вывести соответствующее сообщение.

Решение задачи: «Описать структуру с именем ZNAK»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication5
{
    class Program
    {
        static void Main(string[] args)
        {
            SortedSet<Znak> set = new SortedSet<Znak>(new ZnakComparer());
 
            set.Add(new Znak("Alex", "Barly", "AAA", new int[] { 12, 12, 1981 }));
            set.Add(new Znak("Nick", "Simpson", "BBB", new int[] { 10, 20, 1995 }));
            set.Add(new Znak("Mary", "Douglas", "AAA", new int[] { 25, 12, 2005 }));
 
            Console.WriteLine("Введите знак:");
            string zodiak = Console.ReadLine();
 
            List<Znak> result = (from n in set where n.Zodiak == zodiak select n).ToList<Znak>();
            if (result.Count != 0)
                foreach (var n in result)
                    Console.WriteLine(n.ToString());
            else
                Console.WriteLine("Данные отсутствуют!");
 
            Console.Read();
        }
    }
    public struct Znak
    {
        public string firstName;
        public string lastName;
        public string Zodiak;
        public int[] DateOfBirth;
 
        
        public Znak(string fName, string lName, string Z, int[] date)
        {
            firstName = fName;
            lastName = lName;
            Zodiak = Z;
            DateOfBirth = new int[date.Length];
            DateOfBirth = date;
        }
        public override string ToString()
        {
            return string.Format("Имя: {0}, фамилия: {1}, знак Зодиака: {2}, дата рождения: {3}.{4}.{5}",
                firstName, lastName, Zodiak, DateOfBirth[0], DateOfBirth[1], DateOfBirth[2]);
        }
        
    }
    class ZnakComparer:IComparer<Znak>
    {
        public int Compare(Znak x, Znak y)
        {
            if (x.DateOfBirth[0] > y.DateOfBirth[0])
                return 1;
            if (x.DateOfBirth[0] < y.DateOfBirth[0])
                return -1;
            else
                return 0;
        }
    }
}

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


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

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

8   голосов , оценка 4 из 5