Организация методов пользовательских классов - C#

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

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

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

Решение задачи: «Организация методов пользовательских классов»

textual
Листинг программы
  1. using System;
  2. using System.Linq;
  3.  
  4. namespace ConsoleApplication
  5. {
  6.     struct ZNAK
  7.     {
  8.         string surname, name;
  9.         public string znak;
  10.         public int[] birthday;
  11.  
  12.         public ZNAK(string name, string surname, string znak, int day, int month, int year)
  13.         {
  14.             this.name = name;
  15.             this.surname = surname;
  16.             this.znak = znak;
  17.             birthday = new int[] { day, month, year };
  18.         }
  19.         public override string ToString()
  20.         {
  21.             return String.Format("Имя: {0}\nФамилия: {1}\nЗнак: {2}\nДата рождения: {3}.{4}.{5}", name, surname, znak, birthday[0], birthday[1], birthday[2]);
  22.         }
  23.     }
  24.     class Program
  25.     {
  26.         static void Main(string[] args)
  27.         {
  28.             ZNAK[] znaki = new ZNAK[8];
  29.             string name, surname, znak;
  30.             int day, month, year;
  31.  
  32.             for (int i = 0; i < znaki.Length; i++ )
  33.             {
  34.                 Console.Write("Введите имя: ");
  35.                 name = Console.ReadLine();
  36.                 Console.Write("Введите фамилию: ");
  37.                 surname = Console.ReadLine();
  38.                 Console.Write("Введите знак: ");
  39.                 znak = Console.ReadLine();
  40.                 Console.Write("Введите день рождения: ");
  41.                 day = Int32.Parse(Console.ReadLine());
  42.                 Console.Write("Введите месяц рождения: ");
  43.                 month = Int32.Parse(Console.ReadLine());
  44.                 Console.Write("Введите год рождения: ");
  45.                 year = Int32.Parse(Console.ReadLine());
  46.                 znaki[i] = new ZNAK(name, surname, znak, day, month, year);
  47.             }
  48.  
  49.             znaki = znaki.OrderBy(n => n.znak).ToArray();
  50.             for (int i = 0; i < znaki.Length; i++)
  51.                 Console.WriteLine(znaki[i].znak);
  52.  
  53.             Console.Write("Введите месяц для поиска: ");
  54.             int targetMonth = Int32.Parse(Console.ReadLine());
  55.             bool exist = false;
  56.             for(int i=0; i<znaki.Length; i++)
  57.             {
  58.                 if (znaki[i].birthday[1] == targetMonth)
  59.                 {
  60.                     Console.WriteLine(znaki[i].ToString() + "\n");
  61.                     exist = true;
  62.                 }
  63.             }
  64.             if (!exist)
  65.                 Console.WriteLine("Записей нет");
  66.             Console.ReadKey();
  67.         }
  68.     }
  69. }

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


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

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

9   голосов , оценка 4.333 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы