Bankas_parvaldes_sistema using System; using System.Collections.Generic; class BankasKonts { private static HashSet izmantotieNumuri = new HashSet(); private static Random rng = new Random(); private int kontaNumurs; private string ipašnieks; private decimal atlikums; public BankasKonts(string ipašnieks, decimal sakumaAtlikums) { this.kontaNumurs = GeneretUnikuNumuru(); this.ipašnieks = ipašnieks; this.atlikums = sakumaAtlikums; } private int GeneretUnikuNumuru() { int numurs; do { numurs = rng.Next(1000, 10000); // 1000 - 9999 } while (izmantotieNumuri.Contains(numurs)); izmantotieNumuri.Add(numurs); return numurs; } ~BankasKonts() { Console.WriteLine($"Konts #{kontaNumurs} iznīcināts."); } public void Noguldit(decimal summa) { if (summa <= 0) throw new ArgumentException("Summai jābūt pozitīvai."); atlikums += summa; } public void Iznemt(decimal summa) { if (summa <= 0) throw new ArgumentException("Summai jābūt pozitīvai."); if (summa > atlikums) throw new InvalidOperationException("Nepietiek līdzekļu."); atlikums -= summa; } public void Paradit() { Console.WriteLine("\n--- Konta informācija ---"); Console.WriteLine($"Konta numurs: {kontaNumurs}"); Console.WriteLine($"Īpašnieks: {ipašnieks}"); Console.WriteLine($"Atlikums: {atlikums:C}"); } public int Numurs => kontaNumurs; } class Program { static List konti = new List(); static void Main() { while (true) { Console.Clear(); Console.WriteLine("1. Izveidot kontu\n2. Noguldit\n3. Izņemt\n4. Paradit\n5. Dzēst\n6. Iziet"); Console.Write("\nIzvēle: "); switch (Console.ReadLine()) { case "1": Izveidot(); break; case "2": Nauda(true); break; case "3": Nauda(false); break; case "4": Paradit(); break; case "5": Dzest(); break; case "6": return; default: Console.WriteLine("Nederīga izvēle."); break; } Console.WriteLine("\nENTER turpināt..."); Console.ReadLine(); } } static void Izveidot() { Console.Write("Īpašnieks: "); var vards = Console.ReadLine(); Console.Write("Sākuma atlikums: "); if (decimal.TryParse(Console.ReadLine(), out var atlikums)) { var konts = new BankasKonts(vards, atlikums); konti.Add(konts); Console.WriteLine($"Konts izveidots. Konta numurs: {konts.Numurs}"); } else Console.WriteLine("Kļūda summā."); } static BankasKonts Meklet() { Console.Write("Konta numurs: "); return int.TryParse(Console.ReadLine(), out var nr) ? konti.Find(k => k.Numurs == nr) : null; } static void Nauda(bool noguldijums) { var konts = Meklet(); if (konts == null) { Console.WriteLine("Konts nav atrasts."); return; } Console.Write("Summa: "); if (decimal.TryParse(Console.ReadLine(), out var summa)) { try { if (noguldijums) konts.Noguldit(summa); else konts.Iznemt(summa); Console.WriteLine("Veiksmīgi."); } catch (Exception ex) { Console.WriteLine("Kļūda: " + ex.Message); } } } static void Paradit() { var konts = Meklet(); if (konts != null) konts.Paradit(); else Console.WriteLine("Konts nav atrasts."); } static void Dzest() { var konts = Meklet(); if (konts != null && konti.Remove(konts)) Console.WriteLine("Konts dzēsts."); else Console.WriteLine("Neizdevās dzēst kontu."); } }