Skip to content

Instantly share code, notes, and snippets.

@mormegil-cz
Created June 6, 2023 14:11
Show Gist options
  • Save mormegil-cz/037be8abf258baf064c793c748028046 to your computer and use it in GitHub Desktop.
Save mormegil-cz/037be8abf258baf064c793c748028046 to your computer and use it in GitHub Desktop.
Příklad normální implementace v dnešním jazyce
record Osoba(string Ident, string PrijmeniJmeno, int RokNarozeni, decimal KcDuchodu);
record CteniKartotekyResults(int Pocet, decimal Soucet);
void Main()
{
var results = CteniKartoteky(ParseDuchody(File.ReadLines(@"duchody.txt")));
var prumer = Math.Round(results.Soucet / results.Pocet);
Console.WriteLine($"Pocet: {results.Pocet}, Prumer: {prumer}");
}
IEnumerable<Osoba> ParseDuchody(IEnumerable<string> lines) => lines.Select(
line => new Osoba(
line.Substring(0, 10),
line.Substring(10, 50),
Int32.Parse(line.Substring(60, 4)),
Int32.Parse(line.Substring(64, 6))
)
);
CteniKartotekyResults CteniKartoteky(IEnumerable<Osoba> duchody)
{
var pocet = 0;
var soucet = 0m;
foreach(var osoba in duchody)
{
if (osoba.RokNarozeni + 85 == 2023)
{
++pocet;
soucet += osoba.KcDuchodu;
}
}
return new(pocet, soucet);
}