using System.Collections.Generic;
decimal Zustatek { get; }
public class Ucet : IUcet
public decimal Zustatek { get; set; }
public string Vlastnik { get; private set; }
public Ucet(string vlastnik, decimal pocatecniZustatek)
Zustatek = pocatecniZustatek;
public override string ToString()
return string.Format($"-zapis pomoci $- Vlastník účtu: {Vlastnik} Zůstatek účtu {Zustatek}");
Dictionary<string, Ucet> seznamBankovnichUctuSlovnik = new Dictionary<string, Ucet>();
public void ZalozUcet(string vlastnik, int pocatecniZustatek)
seznamBankovnichUctuSlovnik.Add(vlastnik, new Ucet(vlastnik, pocatecniZustatek));
public IUcet NajdiUcet (string jmenoVlastnika)
if (seznamBankovnichUctuSlovnik.TryGetValue(jmenoVlastnika, out Ucet nalezenyUcet))
return nalezenyUcet as Ucet;
public void UlozPenize (Ucet nalezenyUcet, decimal kolik)
nalezenyUcet.Zustatek = nalezenyUcet.Zustatek + kolik;
Console.WriteLine("Vypisuju účty:");
foreach (var pomocnySeznamUctu in seznamBankovnichUctuSlovnik)
Console.WriteLine($" Klíč:{ pomocnySeznamUctu.Key} a hodnota: {pomocnySeznamUctu.Value}");
public static void Main()
Banka banka = new Banka();
banka.ZalozUcet("Honza", 1000);
banka.ZalozUcet("Karin", 2000);
banka.ZalozUcet("Mirek", 3500);
Console.WriteLine("Vklady:");
banka.UlozPenize((Ucet)banka.NajdiUcet("Karin"), 500);
banka.UlozPenize((Ucet)banka.NajdiUcet("Mirek"), -500);
banka.UlozPenize((Ucet)banka.NajdiUcet("Karin"), 700);