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

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

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

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

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

textual
Листинг программы
using System;
using System.Text.RegularExpressions;
using System.IO;
using System.Reflection;
using System.Text;
using System.Linq;
using System.Collections.Generic;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            ZNAK[] znaks = new ZNAK[8];
            Console.WriteLine("enter 8 znaks\n");
            for (int i = 0; i < znaks.Length; i++)
            {
                ZNAK znk = new ZNAK();
                Console.Write("enter name and surname: ");
                znk.NameSurname = Console.ReadLine();
                Console.Write("enter zodiac sign: ");
                string zs = Console.ReadLine();
                switch (zs)
                { 
                    case "Aries":
                        znk.ZodiacSign = Zodiacs.Aries;
                        break;
                    case "Taurus":
                        znk.ZodiacSign = Zodiacs.Taurus;
                        break;
                    case "Gemini":
                        znk.ZodiacSign = Zodiacs.Gemini;
                        break;
                    case "Cancer":
                        znk.ZodiacSign = Zodiacs.Cancer;
                        break;
                    case "Leo":
                        znk.ZodiacSign = Zodiacs.Leo;
                        break;
                    case "Virgo":
                        znk.ZodiacSign = Zodiacs.Virgo;
                        break;
                    case "Libra":
                        znk.ZodiacSign = Zodiacs.Libra;
                        break;
                    case "Scorpio":
                        znk.ZodiacSign = Zodiacs.Scorpio;
                        break;
                    case "Sagittarius":
                        znk.ZodiacSign = Zodiacs.Sagittarius;
                        break;
                    case "Capricorn":
                        znk.ZodiacSign = Zodiacs.Capricorn;
                        break;
                    case "Aquarius":
                        znk.ZodiacSign = Zodiacs.Aquarius;
                        break;
                    case "Pisces":
                        znk.ZodiacSign = Zodiacs.Pisces;
                        break;
                    default:
                        Console.Write("WRONG ZODIAC SIGN");
                        break;
                }
                znk.DateOfdBirth = new int[3];
                Console.Write("enter year: ");
                znk.DateOfdBirth[0] = Convert.ToInt32(Console.ReadLine());
                Console.Write("enter month: ");
                znk.DateOfdBirth[1] = Convert.ToInt32(Console.ReadLine());
                Console.Write("enter day: ");
                znk.DateOfdBirth[2] = Convert.ToInt32(Console.ReadLine());
                znaks[i] = znk;
            }
            Array.Sort(znaks);
            Console.Write("enter zodiac sign to find: ");
            string zodSign = Console.ReadLine();
            bool found = false;
            foreach (ZNAK zk in znaks)
            {
                if (zk.ZodiacSign.ToString().Equals(zodSign))
                {
                    found = true;
                    Console.WriteLine(zk.NameSurname +", " + zk.DateOfdBirth[0] +"-"+zk.DateOfdBirth[1] +"-"+zk.DateOfdBirth[2] );
                }
            }
            if (!found)
            {
                Console.WriteLine("NOT FOUND");
            }
        }
 
        public enum Zodiacs
        {
            Aries,
            Taurus,
            Gemini,
            Cancer,
            Leo,
            Virgo,
            Libra,
            Scorpio,
            Sagittarius,
            Capricorn,
            Aquarius,
            Pisces
        }
 
        public struct ZNAK : IComparable
        {
            public string NameSurname;
            public Zodiacs ZodiacSign;
            public int[] DateOfdBirth;// 0-year, 1 - month, 2 - day
 
            public int CompareTo(object obj)
            {
                ZNAK com = (ZNAK)obj;
                DateTime dt1 = new DateTime(this.DateOfdBirth[0], this.DateOfdBirth[1], this.DateOfdBirth[2]);
                DateTime dt2 = new DateTime(com.DateOfdBirth[0], com.DateOfdBirth[1], com.DateOfdBirth[2]);
                return dt1.CompareTo(dt2);
            }
        }
    }
}

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


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

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

14   голосов , оценка 3.857 из 5