Создание списка объектов класса с заранее неизвестным именем (именем самих объектов) - C#

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

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

Уважаемые программисты, не получается решить такую задачу: требуется создать приложение (в консоли) "клиенты банка". Есть два класса 1) клиенты 2) счета. Реализовал создание клиента, +нескольких счетов к нему, а вот как создать список клиентов, который можно будет редактировать, не доходит пока. код
 
    class Client
    {
        private string _fio;
        private string _age;
        private string _company;
        //список счетов
        List<Check> Checks;
        
        //конструктор 1 (0 вх.параметров)
        public Client()
        {
            _fio = "Null";
            _age = "Null";
            _company = "Null";
        }
        //конструктор 2 (3 вх.параметров)
        public Client(string fio, string age, string company)
        {
            _fio = fio;
            _age = age;
            _company = company;
        }
 
        //метод создания клиента
        public void EnterDataClient()
        {
            Console.WriteLine("Введите имя: ");
            _fio = Console.ReadLine();
            Console.WriteLine("Введите возраст: ");
            _age = Console.ReadLine();
            Console.WriteLine("Введите компанию, в которой он работает: ");
            _company = Console.ReadLine();
        }
 
        //метод, который проверяет, есть ли у клиента счета,
        //если нет, создает новый список счетов. Добавляет новый счет в список
        public void AddChecks(Check NewCheck)
        {
            if (Checks == null)
                Checks = new List<Check>();
            Checks.Add(NewCheck);
        }
 
        //метод, который удаляет счет клиента по указанному индексу
        public void DelChecks(int i)
        {
            if (Checks != null)
                Checks.RemoveAt(i);
            else
                Console.WriteLine("список счетов для данного клиента пуст");
        }
 
    }
}
-------------------------------------------------------------------
 
    class Check
    {
        int _balance;
        string _historyBalance;
 
        //базовый конструктор без переменных
        public Check()
        {
            _balance = 0;
            _historyBalance = "";
        }
 
        //свойство баланс 
        public int Balance
        {
            get
            {
                return _balance;
            }
            set
            {
                if (value >= 0)
                    _balance += value;
                else 
                    _balance -= value;
            }
        }
 
        //cвойство история баланса
        public string History
        {
            get
            {
                return _historyBalance;
            }
            set
            {
                _historyBalance += value;
            }
        }
 
        //метод, изменяющий  баланс, затем вносящий запись в историю баланса
        public void ContribMoneyOnBalance(int i)
        {
            try
            {
                Balance += i;
                History +="Изменение баланса на сумму: "+Convert.ToString(i)+" от "+DateTime.Now+ "\n";
            }
            catch
            {
                Console.WriteLine("Ошибка при изменении баланса");
            }
            Console.WriteLine("Ваш текущий баланс: ");
            Console.WriteLine(Convert.ToString(_balance)," руб.");
        }
 
        //метод просмотр истории баланса
        public void ViewHstoryBalance()
        {
            Console.WriteLine("История прихода-расхода:");
            Console.WriteLine(History);
        }
 
    }
-------------------------------------------------------------------------
 
    class Program
    {     
        static void Main(string[] args)
        {
            List<Client> CatalogClient = new List<Client>();
            string a = "";
            Console.WriteLine(@"Выберите вариант:
            1. Создать клиента
            2. Удалить клиента.
            3. Посмотреть всех клиентов.");
 
            try
            {
                string b = Console.ReadLine();
                a = b;
            }
            catch
            {
                Console.WriteLine("Вводите только цифру и затем ввод (<Enter>)");
            }
            switch (a)
            {
                case "1":
                    
            }
 
            Console.ReadKey();
        }
    }

Решение задачи: «Создание списка объектов класса с заранее неизвестным именем (именем самих объектов)»

textual
Листинг программы
  
class Program
    {     
        static void Main(string[] args)
        {
            List<Client> CatalogClient = new List<Client>();
            Console.WriteLine(@"Выберите вариант:
            1. Создать клиента
            2. Удалить клиента.
            3. Посмотреть всех клиентов.");
 
            string b = Console.ReadLine();
           
            switch (b)
            {
                case ("1"):
                    Client client = new Client();
                    client.EnterDataClient();
                    CatalogClient.Add(client);
                    break;
                default:
                    Console.WriteLine("Клиент создан. Вы в меню. Создать второго клиента");
                    break;
                    
            }
            switch (b)
            {
                case ("1"):
                    Client client = new Client();
                    client.EnterDataClient();
                    CatalogClient.Add(client);
                    break;
            }
 
 
            Console.WriteLine("Клиент создан. Вы в меню. Посмотреть всех клиентов.");
 
            b = "3";
            switch (b)
            {
                case ("3"):
                    foreach (var client in CatalogClient)
                        Console.WriteLine("Клиент: {0}, возраст: {1}, компания: {2}", client.FIO,client.AGE,client.COMPANY);
                    break;
            }
 
            Console.ReadKey();
        }
    }

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


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

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

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