public string przetworz(string input)
        {
            Dzialanie dzialanie = Ekstraktor.extract(input);

            if (dzialanie == null)
            {
                return("Błędny input");
            }
            else
            {
                foreach (IBloczek bloczek in bloczki)
                {
                    bloczek.wykonaj(dzialanie);
                }

                return($"Wynik {input} to: {dzialanie.wynik}");
            }
        }
예제 #2
0
        public static Dzialanie extract(string input)
        {
            Dzialanie d       = new Dzialanie();
            Regex     rgx     = new Regex(@"^\d+[^\d]+\d+$");
            Regex     liczba1 = new Regex(@"^\d+");
            Regex     liczba2 = new Regex(@"\d+$");
            Regex     oper    = new Regex(@"[^\d]+");

            if (rgx.IsMatch(input) == false)
            {
                return(null);
            }
            else
            {
                d.zm1  = Double.Parse(liczba1.Match(input).Value);
                d.zm2  = Double.Parse(liczba2.Match(input).Value);
                d.oper = Char.Parse(oper.Match(input).Value);
            }

            return(d);
        }