Untitled
unknown
plain_text
5 months ago
1.7 kB
4
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