.NET 4.x Class Person - C#

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

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

Еще одна интересная задача попалась. Подскажите как сделать. Create class Person. Class Person should consists of a) two private fields: name and birthYear (the birthday year).(*As a type for this field you may use DataTime type.) b) two properties for access to these fields (only get) c) default constructor and constructor with 2 parameters d) methods: - Age() - to calculate the age of person -Input() - to input information about person -ChangeName() - to change the name of person -ToString() -Output() - to output information about person (call ToString()) - operator== (equal by name) In the method Main() create 6 objects of Person type and input information about them. Then calculate and write to console the name and Age of each person; Change the name of persons, which Age is less then 16, to "Very Young". Output information about all persons. Find and output information about Persons with the same names (use ==)

Решение задачи: «.NET 4.x Class Person»

textual
Листинг программы
using System;
 
namespace HomeWork4
{
    class Program
    {
        static void Main(string[] args)
        {
            Person[] persons = new Person[6];
            Console.WriteLine("Enter information about person");
 
            for (int i = 0; i < 6; i++)
            {
                Person p = new Person();
                persons[i] = p;
                Console.WriteLine("\n Person {0}.", (i + 1));
                persons[i] = persons[i].Input();
            }
 
            Console.WriteLine("\n Information about age");
            foreach (Person person in persons)
            {
                int age;
                age = person.Age();
                Console.WriteLine("name - {0},\t age - {1}", person.Name, age);
            }
 
            Console.WriteLine("\n Output");
            foreach (Person person in persons)
            {
                int age;
                age = person.Age();
                if (age < 16)
                {
                    person.ChangeName();
                }
                person.Output();
            }
            Console.WriteLine("\n  Persons with the same names");
            for (int i = 0; i < 6; i++)
            {
                for (int j = i + 1; j < 6; j++)
                {
                    if (persons[i] == persons[j])
                    {
                        Console.Write("Person {0}. - ", (i + 1));
                        persons[i].Output();
                        Console.Write("Person {0}. - ", j);
                        persons[j].Output();
                        Console.WriteLine();
                    }
                }
            }
 
        }
    }
    class Person
    {                               
        private string _name;
        private int _birthYear;
       
        public string Name
        {
            get { return _name; }
        }
        public int BirthYear
        {
            get { return _birthYear; }
        }
        
        public Person()
        {
 
        }
        public Person(string name, int birthYear)
        {
            _name = name;
            _birthYear = birthYear;
        }
        
        public int Age()
        {
            int age = 2017 - _birthYear;
            return age;
        }
        public Person Input()
        {
            string name;
            int birthYear;
 
            Console.Write(" name - ");
            name = Console.ReadLine();
            Console.Write(" year - ");
            while (!Int32.TryParse(Console.ReadLine(), out birthYear))
            {
                Console.Write("Error, year is not correct ");
                Console.Write("\n year - ");
            }
 
            return new Person(name, birthYear);
        }
        public string ChangeName()
        {
            this._name = "Very Young";
            return this._name;
        }
        public override string ToString()
        {
            return "name - " + _name + ",\t \t the birthday year - " + _birthYear.ToString();
        }
        public void Output()
        {
            Console.WriteLine(ToString());
        }
        public static bool operator ==(Person first, Person second)
        {
 
            return first._name == second._name;
        }
        public static bool operator !=(Person first, Person second)
        {
            return !(first == second);
 
            
        }
    }
}

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


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

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

8   голосов , оценка 4 из 5
Похожие ответы