Описать структуру с именем 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); } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д