Создание списка объектов класса с заранее неизвестным именем (именем самих объектов) - 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(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д