Untitled
unknown
plain_text
a year ago
1.7 kB
6
Indexable
using System;
try
{
// Kontrola počtu argumentů
if (args.Length != 3)
{
throw new ArgumentException("Aplikace vyžaduje přesně 3 číselné parametry.");
}
// Převod argumentů na čísla s kontrolou pomocí moderní C# syntaxe
if (!args.Select(arg => double.TryParse(arg, out _)).All(result => result))
{
throw new ArgumentException("Všechny parametry musí být platná čísla.");
}
// Převod na čísla - už víme, že konverze bude úspěšná
double[] cisla = args.Select(double.Parse).ToArray();
// Výpočet součtu pomocí LINQ
double soucet = cisla.Sum();
Console.WriteLine(soucet);
// Výpočet součinu
double soucin = cisla.Aggregate((x, y) => x * y);
Console.WriteLine(soucin);
// Výpočet podílu součtu prvních dvou čísel a třetího čísla
if (cisla[2] == 0)
{
throw new DivideByZeroException("Nelze dělit nulou.");
}
double podil = (cisla[0] + cisla[1]) / cisla[2];
Console.WriteLine(podil);
// Úspěšné ukončení
return 0;
}
catch (ArgumentException ex)
{
Console.WriteLine($"Chyba vstupních parametrů: {ex.Message}");
VypisNapovedu();
return 1;
}
catch (DivideByZeroException ex)
{
Console.WriteLine($"Chyba při výpočtu: {ex.Message}");
return 2;
}
catch (Exception ex)
{
Console.WriteLine($"Neočekávaná chyba: {ex.Message}");
return 3;
}
static void VypisNapovedu()
{
Console.WriteLine("\nPoužití aplikace:");
Console.WriteLine("NactiData.exe <cislo1> <cislo2> <cislo3>");
Console.WriteLine("\nPříklad:");
Console.WriteLine("NactiData.exe 10 20 5");
}Editor is loading...
Leave a Comment