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

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

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

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

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

textual
Листинг программы
using System;
using System.Linq;
using System.Collections.Generic;
 
class Program
{
    [Serializable]
    public struct Note : IFormattable, IEquatable<Note>, IComparable<Note>
 
    {
        public string FullName { get; set; }
        public int[] Birthday { get; set; }
        public string Phone { get; set; }
 
 
        public Note(string fullName) :
            this(fullName, new int[] {0,0,0}, "")
        { }
 
        public Note(string fullName, int[] birthday) :
         this(fullName, birthday, "")
        { }
 
        public Note(string fullName, int[] birthday,
            string phone)
        {
            FullName = fullName;
            Birthday = birthday;
            Phone = phone;
        }
 
 
        public override string ToString()
        {
            return FullName;
        }
 
        public string ToString(string format, IFormatProvider formatProvider)
        {
            if (format == null)
                return ToString();
 
            switch (format.ToUpper())
            {
                case "FN":
                    return FullName;
                case "B":
                    return String.Format("{1,2:D2}:{2,2:D2}:{3,4:D4}", Birthday); ;
                case "P":
                    return Phone.ToString();
 
                case "ALL":
                    return String.Format(" Full name: {0}, Birthday: {1,2:D2}:{2,2:D2}:{3,4:D4},  Phone: {4}"
                    , FullName, Birthday[0], Birthday[1], Birthday[2], Phone);
 
                default:
                    throw new FormatException(String.Format(formatProvider,
                    "Format {0} is not supported", format));
            }
        }
        public string ToString(string format)
        {
            return ToString(format, null);
        }
 
        public override int GetHashCode()
        {
            return (FullName.GetHashCode() + Phone.GetHashCode());
        }
 
        public bool Equals(Note other)
        {
            if (other == null)
                return false;
 
 
            if (string.Compare(this.FullName, other.FullName, StringComparison.OrdinalIgnoreCase) == 0
                &&
                Enumerable.SequenceEqual(this.Birthday, other.Birthday) == true
                &&
                string.Compare(this.Phone, other.Phone, StringComparison.OrdinalIgnoreCase) == 0)
 
                return true;
            else
                return false;
        }
        
        public override bool Equals(object other)
        {
            if (other == null)
                return false;
            return this.Equals((Note)other);
        }
 
        public int CompareTo(Note other)
        {
                if (other == this)
                    return 0;
                    return string.Compare(this.FullName,other.FullName, StringComparison.OrdinalIgnoreCase);
 
        }
 
 
 
        public static bool operator ==(Note left, Note right)
        {
            return left.Equals(right);
        }
        public static bool operator !=(Note left, Note right)
        {
            return left != right;
        }
    }
 
 
 
 
    public static void Main()
    {
 
        var notes = new List<Note>();
 
        //notes.Add(new Note("Jones I.O.", new int[] { 1990, 2, 15 },"009-888-999-44"));
        //notes.Add(new Note("Kimberly A.A.", new int[] {1991, 6, 4 }, "009-887-988-00"));
        //notes.Add(new Note("Miller C.H.", new int[] {1990, 11, 1 }, "009-888-999-44"));
        //notes.Add(new Note("Morgan B.V.", new int[] {1991, 4, 3 }, "009-088-000-55"));
        //notes.Add(new Note("PhilLips P.V.", new int[] {1991, 4, 3 }, "009-888-444-77"));
        //notes.Add(new Note("Lynn J.O.", new int[] {1991, 4, 3 }, "009-555-111-44"));
 
 
        for (int i = 0; i < 8; i++)
        {
            Note note = new Note();
            Console.WriteLine("Full name: ");          
            note.FullName = Console.ReadLine();
            Console.WriteLine("Birthday: (array) ");
            var arr = new int[] { 0, 0, 0 };
            for (int j = 0; j < arr.Length; j++)
               arr[j] = Convert.ToInt32( Console.ReadLine());
            note.Birthday = arr;
            Console.WriteLine("Phone: ");
            note.Phone = Console.ReadLine();
            notes.Add(note);
            Console.WriteLine();
        }
 
        foreach (Note item in notes)
            Console.WriteLine("{0:All}", item);
 
        notes.Sort();
 
        Console.WriteLine();
 
 
        foreach (Note item in notes)
           
                Console.WriteLine("{0:All}", item);
        Console.ReadKey(true);
 
    }
 
}

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


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

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

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