Как сделать перегрузку метода ToString() - C#

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

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

Помогите сделать перегрузку метода ToString(), еще чтобы были готовые 3 пациента при запуске, и после занесения данных они не записываются а программа чего то ждет стоит, заранее спасибо!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace OOP
{
 
    class Hospital
    {
        class patient
        {
            string name; //имя
            string lastname; //фамилия
            string patronumic; // отчество
            Adress adress;//адресс
            Disease[] history;
            bool isStay;
 
            public patient(string _name, string _lastname, string _patronumic, Adress _adress) //конструктёр пациента
            {
                /* заносим данные в карточку*/
                name = _name;
                lastname = _lastname;
                patronumic = _patronumic;
                adress = _adress;
                isStay = true;
 
                history = new Disease[100]; // массив истории болезни пациента
            }
 
            public Adress Adress    // св-во Адрес
            {
                get { return adress; }  //только чтение
            }
 
            public string FIO //фио
            {
                get { return lastname + " " + name + " " + patronumic; } //только чтение
            }
 
            public bool IsStay    // стоит ли на учете больной
            {
                // чтение и запись
                get { return isStay; } // получение сведений об учете больного
                set { isStay = value; } //измемнение состояния учета
            }
 
            public void Visit(DateTime date, string diagnose) // обращение пациента в поликлиннику
            {
                Disease disease = new Disease(date, diagnose); // регистрируем болезнь
                history.SetValue(disease, history.Count()); // заносим в карточку
            }
        }
 
        string name; //наименование поликлинники
        static List<patient> my = new List<patient>();
 
        internal struct Adress
        {
            private string street;  //улица
            private string city; // город
            private byte house;  // номер дома
            private byte flat;  //# кваритры
 
            public Adress(string _street, string _city, byte _house, byte _flat)//конструктор структуры адреса
            {
                street = _street;
                city = _city;
                house = _house;
                flat = _flat;
            }
        }
 
        private struct Disease
        {
            DateTime time;
            string diagnose;
 
            public Disease(DateTime _time, string _diagnose)
            {
                time = _time;
                diagnose = _diagnose;
            }
        }

        public void Hospital1()  // конструктор больницы
        {
            name = "Поликлинника №1";   // задаем имя поликлинники
        }
 
        static void AddPatient(string name, string lastname, string patronymic, Adress adress) // регистрация пациента в больнице
        {
 
            patient Patient = new patient(name, lastname, patronymic, adress); // создаем карточку нового больного
            my.Add(Patient);// ложим ее в архив
        }
 
        public void SetStay(int ID, bool isStay) // снятие/постановка больного на учет в больницу
        {
            if ((ID < 0) || (ID > my.Count())) // если нет такого пациента, то ничего не делаем
                return;
 
            my[ID].IsStay = isStay; // снятие/постановка
        }
 
        static void Visit(int ID, DateTime date, string diagnose) // обращение пациента в больницу
        {
            if ((ID < 0) || (ID > my.Count())) // если нет такого пациента, то ничего не делаем
                return;
 
            my[ID].Visit(date, diagnose);
        }
 
        public static void Main()
        {
            char a;
 
            {
                System.Console.Clear();
                System.Console.WriteLine("\tБольница \n");
                System.Console.WriteLine("1. Добавить пациента");
                System.Console.WriteLine("2. Вывести список пациентов");
                System.Console.WriteLine("3. Удалить Пациента");
                System.Console.WriteLine("4. Обращение пациента");
                System.Console.WriteLine("5. постановка/снятие пациента с учета");
                System.Console.WriteLine("\n0. выход");
 
                a = System.Console.ReadKey().KeyChar;
                switch (a)
                {
                    case '1':
                        {
                            System.Console.Clear();
                            System.Console.WriteLine("Введите имя: ");
                            string name = Console.ReadLine();
                            System.Console.WriteLine("Введите фамилию: ");
                            string lastname = Console.ReadLine();
                            System.Console.WriteLine("Введите отчество: ");
                            string patronymic = Console.ReadLine();
                            System.Console.WriteLine("Введите адрес: \n");
                            System.Console.WriteLine("город: ");
                            string _city = Console.ReadLine();
                            System.Console.WriteLine("Улица: ");
                            string _street = Console.ReadLine();
                            System.Console.WriteLine("Дом: ");
                            byte _house = byte.Parse(Console.ReadLine());
                            System.Console.WriteLine("Квартира: ");
                            byte _flat = byte.Parse(Console.ReadLine());
                            Adress adress = new Adress(_street, _city, _house, _flat);
 
                            AddPatient(name, lastname, patronymic, adress);
                            break;
                        }
                    case '2':
                        {
                            for (int i = 0; i < my.Count; i++)
                            {
                                System.Console.Clear();
                                System.Console.WriteLine("ID: " + i);
                                System.Console.WriteLine("FIO: " + my[i].FIO);
                                System.Console.WriteLine("Учет: " + my[i].IsStay);
 
                            }
                            System.Console.ReadKey();
                            break;
                        }
                    case '3':
                        {
                            System.Console.Clear();
                            System.Console.WriteLine("Напишите номер записи которую хотите удалить: ");
                            int i = int.Parse(System.Console.ReadLine());
                            my.RemoveAt(i);
                        }
                        break;
                    case '4':
                        {
                            System.Console.Clear();
                            System.Console.WriteLine("Введите номер пациента: ");
                            int i = int.Parse(System.Console.ReadLine());
                            System.Console.WriteLine("Введите диагноз: ");
                            string s = System.Console.ReadLine();
                            Visit(i, DateTime.Today, s);
                        }
                        break;
                    case '5':
                        {
                            System.Console.Clear();
                            System.Console.WriteLine("Введите номер пациента: ");
                            int i = int.Parse(System.Console.ReadLine());
                            my[i].IsStay = !my[i].IsStay;
 
                        }
                        break;
                }
            } while (a != '0') ;

        }

    }
}

Решение задачи: «Как сделать перегрузку метода ToString()»

textual
Листинг программы
            public override string ToString()
            {
                return string.Format("Street: {0}, City: {1}, House: {2}, Flat: {3}", street, city, house, flat);
            }

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


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

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

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