using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; namespace Console_NSD { class Program { public static bool JeCislo(string retezec) { Regex vyraz = new Regex("[^0-9]"); return !vyraz.IsMatch(retezec); } static void Main(string[] args) { //Deleni_nulou(); //Regularni_vyrazy(); Vyjimky_Exception(); } private static void Deleni_nulou() { int c1, c2, zb, pom; string cislo1, cislo2, NSD, volba; bool test; do { test = false; Console.WriteLine(""); Console.Write(" Zadejte první přirozené číslo: "); cislo1 = Console.ReadLine(); Console.WriteLine(""); Console.Write(" Zadejte druhé přirozené číslo: "); cislo2 = Console.ReadLine(); c1 = Convert.ToInt32(cislo1); c2 = Convert.ToInt32(cislo2); if (c1 == 0 || c2 == 0) { Console.WriteLine(""); Console.WriteLine(" Nulou nelze dělit!"); Console.WriteLine(""); Console.Write(" Chcete pokračovat? A/N: "); volba = Console.ReadLine().ToUpper(); if (volba == "A") { test = true; } } else { if (c1 < c2) //záměna proměnných { pom = c1; c1 = c2; c2 = pom; } zb = 1; while (zb != 0) { zb = c1 % c2; c1 = c2; c2 = zb; } NSD = Convert.ToString(c1); Console.WriteLine(""); Console.WriteLine(" Největší společný dělitel: "+ NSD); Console.WriteLine(""); Console.Write(" Chcete pokračovat? A/N: "); volba = Console.ReadLine().ToUpper(); if (volba == "A") { test = true; } } } while (test); } private static void Regularni_vyrazy() { int c1, c2, zb, pom; string cislo1, cislo2, NSD, volba; bool test; do { test = false; Console.WriteLine(""); Console.Write(" Zadejte první přirozené číslo: "); cislo1 = Console.ReadLine(); Console.WriteLine(""); Console.Write(" Zadejte druhé přirozené číslo: "); cislo2 = Console.ReadLine(); if (JeCislo(cislo1) && JeCislo(cislo2)) { c1 = Convert.ToInt32(cislo1); c2 = Convert.ToInt32(cislo2); if (c1 == 0 || c2 == 0) { Console.WriteLine(""); Console.WriteLine(" Nulou nelze dělit!"); Console.WriteLine(""); Console.Write(" Chcete pokračovat? A/N: "); volba = Console.ReadLine().ToUpper(); if (volba == "A") { test = true; } } else { if (c1 < c2) //záměna proměnných { pom = c1; c1 = c2; c2 = pom; } zb = 1; while (zb != 0) { zb = c1 % c2; c1 = c2; c2 = zb; } NSD = Convert.ToString(c1); Console.WriteLine(""); Console.WriteLine(" Největší společný dělitel: " + NSD); Console.WriteLine(""); Console.Write(" Chcete pokračovat? A/N: "); volba = Console.ReadLine().ToUpper(); if (volba == "A") { test = true; } } } else { Console.WriteLine(""); Console.WriteLine(" Zadané výrazy nejsou přirozená čísla!"); Console.WriteLine(""); Console.Write(" Chcete pokračovat? A/N: "); volba = Console.ReadLine().ToUpper(); if (volba == "A") { test = true; } } } while (test); } private static void Vyjimky_Exception() { int c1, c2, zb, pom; string cislo1, cislo2, NSD, volba; bool test; do { test = false; Console.WriteLine(""); Console.Write(" Zadejte první přirozené číslo: "); cislo1 = Console.ReadLine(); Console.WriteLine(""); Console.Write(" Zadejte druhé přirozené číslo: "); cislo2 = Console.ReadLine(); if (JeCislo(cislo1) && JeCislo(cislo2)) { try { c1 = Convert.ToInt32(cislo1); c2 = Convert.ToInt32(cislo2); if (c1 == 0 || c2 == 0) { Console.WriteLine(""); Console.WriteLine(" Nulou nelze dělit!"); Console.WriteLine(""); Console.Write(" Chcete pokračovat? A/N: "); volba = Console.ReadLine().ToUpper(); if (volba == "A") { test = true; } } else { if (c1 < c2) //záměna proměnných { pom = c1; c1 = c2; c2 = pom; } zb = 1; while (zb != 0) { zb = c1 % c2; c1 = c2; c2 = zb; } NSD = Convert.ToString(c1); Console.WriteLine(""); Console.WriteLine(" Největší společný dělitel: " + NSD); Console.WriteLine(""); Console.Write(" Chcete pokračovat? A/N: "); volba = Console.ReadLine().ToUpper(); if (volba == "A") { test = true; } } } catch (OverflowException) { Console.WriteLine(""); Console.WriteLine(" Zadaná čísla jsou příliš velká!"); Console.WriteLine(""); Console.Write(" Chcete pokračovat? A/N: "); volba = Console.ReadLine().ToUpper(); if (volba == "A") { test = true; } } } else { Console.WriteLine(""); Console.WriteLine(" Zadané výrazy nejsou přirozená čísla!"); Console.WriteLine(""); Console.Write(" Chcete pokračovat? A/N: "); volba = Console.ReadLine().ToUpper(); if (volba == "A") { test = true; } } } while (test); } } }