예제 #1
0
        internal static void Main(string[] args)
        {
            Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;

            var startDate    = ConsoleInputHelper.SafeRead <DateTime>(StartDatePrompt, WrongFormatError);
            var endDate      = ConsoleInputHelper.SafeRead <DateTime>(EndDatePrompt, WrongFormatError);
            var dayOfTheWeek = ConsoleInputHelper.SafeRead <DayOfWeek>(DayOfTheWeekPrompt, DayOfTheWeekErrorMessage);

            if (startDate > endDate)
            {
                var oldValue = startDate;
                startDate = endDate;
                endDate   = oldValue;
            }

            var numberOfDays = 0;

            for (var i = startDate; i != endDate; i = i.AddDays(1))
            {
                if (i.DayOfWeek == dayOfTheWeek)
                {
                    numberOfDays++;
                }
            }

            var message = string.Format(
                "The number of {0} between {1} and {2} is {3}",
                dayOfTheWeek,
                startDate.ToString("dd/MM/yyyy"),
                endDate.ToString("dd/MM/yyyy"),
                numberOfDays);

            ConsoleOutputHelper.WriteMessage(message, ConsoleMessageType.Success);
        }
예제 #2
0
        internal static void Main(string[] args)
        {
            const string SampleString = "Sample <up>tagged</up> text with MANY <up>Tags</up>!";
            var          userText     = ConsoleInputHelper.SafeRead <string>(GreetingMessage);

            ConsoleOutputHelper.WriteMessage(TransformText(userText), ConsoleMessageType.Success);
        }
예제 #3
0
        internal static void Main(string[] args)
        {
            var intervalStart = ConsoleInputHelper.SafeRead <int>(IntervalStartPromt);
            var intervalEnd   = ConsoleInputHelper.SafeRead <int>(IntervalEndPromt);

            while (true)
            {
                var divisor        = ConsoleInputHelper.SafeRead <int>(DivisorChousePromt);
                var isDivisorValid = divisor == 3 ||
                                     divisor == 4 ||
                                     divisor == 9;

                if (!isDivisorValid)
                {
                    ConsoleOutputHelper.WriteMessage(InvalidDivisorPromt, ConsoleMessageType.Error);
                }
                else
                {
                    var numbers = GetAllDivisableNumbers(intervalStart, intervalEnd, divisor);
                    ConsoleOutputHelper.WriteMessage(numbers, ConsoleMessageType.Success);

                    break;
                }
            }
        }
예제 #4
0
        internal static void Main(string[] args)
        {
            int    inputNumber = ConsoleInputHelper.SafeRead <int>(GreetingMessage, ParsingErrorMessage);
            bool   isEven      = inputNumber % 2 == 0;
            string message     = string.Format(SuccessMessage, inputNumber, isEven ? "Even" : "Odd");

            ConsoleOutputHelper.WriteMessage(message, ConsoleMessageType.Success);
        }
예제 #5
0
        internal static void Main(string[] args)
        {
            var rawEqation = ConsoleInputHelper.SafeRead <string>(GreetingMessage);
            var rawIndexes = rawEqation.Split(new[] { "x^2+", "x+", "=0" }, StringSplitOptions.RemoveEmptyEntries);
            var solution   = SolveQuadraticEquation(double.Parse(rawIndexes[0]), double.Parse(rawIndexes[1]), double.Parse(rawIndexes[2]));

            ConsoleOutputHelper.WriteMessage(solution, ConsoleMessageType.Success);
        }
예제 #6
0
        internal static void Main(string[] args)
        {
            var sampleArray = new int[20];

            for (int i = 0; i < sampleArray.Length; i++)
            {
                sampleArray[i] = i * 5;
            }

            ConsoleOutputHelper.WriteMessage(string.Join(", ", sampleArray), ConsoleMessageType.Success);
        }
예제 #7
0
        internal static void Main(string[] args)
        {
            var inputNumber = ConsoleInputHelper.SafeRead <int>();

            if (inputNumber % 35 == 0)
            {
                ConsoleOutputHelper.WriteMessage(SuccessMessage, ConsoleMessageType.Success);
            }
            else
            {
                ConsoleOutputHelper.WriteMessage(FailMessage, ConsoleMessageType.Warrning);
            }
        }
예제 #8
0
        internal static void Main(string[] args)
        {
            var firstArray  = new int[12];
            var secondArray = new int[12];

            if (firstArray.SequenceEqual(secondArray))
            {
                ConsoleOutputHelper.WriteMessage(AreEqualMessage, ConsoleMessageType.Success);
            }
            else
            {
                ConsoleOutputHelper.WriteMessage(AreNotEqualMessage, ConsoleMessageType.Warrning);
            }
        }
예제 #9
0
        internal static void Main(string[] args)
        {
            var inputNumber = ConsoleInputHelper.SafeRead <int>(EnterNumberPrompt);

            while (true)
            {
                var choice        = ConsoleInputHelper.SafeRead <int>(AlgorithmChoosePrompt);
                var choiseIsValid = choice == 1 || choice == 2;

                if (choiseIsValid)
                {
                    RunAlgorithm(choice, inputNumber);
                    break;
                }

                ConsoleOutputHelper.WriteMessage(InlvaidChoicePrompt, ConsoleMessageType.Error);
            }
        }
예제 #10
0
        internal static void Main(string[] args)
        {
            var sides = new double[TriangleNumberOfSides];

            for (int i = 0; i < TriangleNumberOfSides; i++)
            {
                var promtMessage = string.Format(SidePromtMessage, i + 1);
                sides[i] = ConsoleInputHelper.SafeRead <double>(promtMessage);
            }

            var perimeter = sides.Sum();
            var area      = sides.Aggregate((a, b) => a * b);

            var areaMessage      = string.Format(AreaSuccessMessage, area);
            var perimeterMessage = string.Format(PerimeterSuccessMessage, perimeter);

            ConsoleOutputHelper.WriteMessage(areaMessage, ConsoleMessageType.Success);
            ConsoleOutputHelper.WriteMessage(perimeterMessage, ConsoleMessageType.Success);
        }
예제 #11
0
        internal static void Main(string[] args)
        {
            string input = Console.ReadLine();

            if (input != null)
            {
                var sumMessage = string.Format(SumMessage, input, FindDigitSum(input));
                ConsoleOutputHelper.WriteMessage(sumMessage, ConsoleMessageType.Success);

                var reversedDigits = string.Join(string.Empty, input.Reverse());
                var reverseMessage = string.Format(ReversedMessage, input, reversedDigits);
                ConsoleOutputHelper.WriteMessage(reverseMessage, ConsoleMessageType.Success);

                var firstDigitsSwitchMessage = string.Format(FirstDigitsSwitchMessage, input, SwitchFirstDigits(input));
                ConsoleOutputHelper.WriteMessage(firstDigitsSwitchMessage, ConsoleMessageType.Success);

                var secondDigitsSwitchMessage = string.Format(SecondDigitsSwitchMessage, input, SwitchSecondDigits(input));
                ConsoleOutputHelper.WriteMessage(secondDigitsSwitchMessage, ConsoleMessageType.Success);
            }
        }
예제 #12
0
        internal static void Main(string[] args)
        {
            var firstArray          = new[] { 's', 'b', 'l', 'a' };
            var secondArray         = new[] { 's', 'b', 'l', 'a' };
            var firstArrayAsString  = string.Join(string.Empty, firstArray);
            var secondArrayAsString = string.Join(string.Empty, secondArray);
            var compareResult       = string.Compare(firstArrayAsString, secondArrayAsString, StringComparison.Ordinal);

            if (compareResult > 0)
            {
                ConsoleOutputHelper.WriteMessage(string.Format(FirstArrayMessage, 1), ConsoleMessageType.Success);
            }
            else if (compareResult < 0)
            {
                ConsoleOutputHelper.WriteMessage(string.Format(FirstArrayMessage, 2), ConsoleMessageType.Success);
            }
            else
            {
                ConsoleOutputHelper.WriteMessage(EqualArraysMessage, ConsoleMessageType.Warrning);
            }
        }
예제 #13
0
        internal static void Main(string[] args)
        {
            var firstArraySize = ConsoleInputHelper.SafeRead <int>(FirstArraySizeMessage);
            var firstArray     = new int[firstArraySize];

            for (int i = 0; i < firstArray.Length; i++)
            {
                firstArray[i] = ConsoleInputHelper.SafeRead <int>(string.Format(EnterElementMessage, i));
            }

            var secondArraySize = ConsoleInputHelper.SafeRead <int>(SecondArraySizeMessage);
            var secondArray     = new int[secondArraySize];

            for (int i = 0; i < secondArray.Length; i++)
            {
                secondArray[i] = ConsoleInputHelper.SafeRead <int>(string.Format(EnterElementMessage, i));
            }

            var equalElements = firstArray.Where(secondArray.Contains).ToList();

            ConsoleOutputHelper.WriteMessage(string.Format(BiggestElementMessage, equalElements.Max()), ConsoleMessageType.Success);
        }
예제 #14
0
        internal static void Main(string[] args)
        {
            Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
            ExtractBirthDateFormString("9204028463");

            string pinString;

            while (true)
            {
                pinString = ConsoleInputHelper.SafeRead <string>(PinInputGreeting);

                var parsedPin       = 0L;
                var isNummeric      = long.TryParse(pinString, out parsedPin);
                var isCorrectLength = pinString.Length == 10;

                if (isNummeric && isCorrectLength)
                {
                    break;
                }

                ConsoleOutputHelper.WriteMessage(InvalidPinPromt, ConsoleMessageType.Error);
            }

            var birthDay          = ExtractBirthDateFormString(pinString);
            var gender            = ExtractGender(pinString);
            var age               = ExtratAge(pinString);
            var daysUntilBirthDay = ExtractDaysUntilBirthDay(pinString);

            var message =
                string.Format(
                    "The person wtih the PIN {0} is {1} and is born on: {2}. He is {3} years old and has {4} days until his birthday.",
                    pinString,
                    gender,
                    birthDay.ToString("dd/MM/yyyy"),
                    age,
                    daysUntilBirthDay);

            ConsoleOutputHelper.WriteMessage(message, ConsoleMessageType.Success);
        }
예제 #15
0
        private static void RunAlgorithm(int choice, int inputNumber)
        {
            bool result;

            if (choice == 1)
            {
                result = SquareRootPrimeAlgorithm(inputNumber);
            }
            else
            {
                result = HalfPrimeAlgorithm(inputNumber);
            }

            if (result)
            {
                var message = string.Format(IsPrimePrompt, inputNumber);
                ConsoleOutputHelper.WriteMessage(message, ConsoleMessageType.Success);
            }
            else
            {
                var message = string.Format(IsNotPrimePrompt, inputNumber);
                ConsoleOutputHelper.WriteMessage(message, ConsoleMessageType.Warrning);
            }
        }
예제 #16
0
 protected void ShowResult(string output)
 {
     ConsoleOutputHelper.WriteMessage(output, ConsoleMessageType.Success);
 }
예제 #17
0
 public virtual void ExecuteTask()
 {
     ConsoleOutputHelper.WriteMessage(this.TaskName, ConsoleMessageType.Info);
 }
예제 #18
0
        internal static void Main(string[] args)
        {
            var length          = ConsoleInputHelper.SafeRead <int>(ArrayLengthPromptMessage);
            var array           = new int[length];
            var count           = 1;
            var maxcount        = 0;
            var maxcountNumbers = 1;
            var lastNumber      = 0;
            var sequences       = new int[length];

            ConsoleOutputHelper.WriteMessage(ArrayValuesPrompt);

            for (int i = 0; i < length; i++)
            {
                array[i] = ConsoleInputHelper.SafeRead <int>(string.Format(ElementAtPositionMessage, i));

                if (i > 0 && array[i] == array[i - 1] + 1)
                {
                    count++;

                    if (count > maxcount)
                    {
                        maxcount   = count;
                        lastNumber = array[i];
                        Array.Clear(sequences, 0, length);
                        maxcountNumbers = 1;
                    }
                    else if (count == maxcount)
                    {
                        maxcountNumbers++;
                        sequences[i] = array[i];
                    }
                }
                else
                {
                    count = 1;
                }
            }

            if (maxcountNumbers == 1)
            {
                if (maxcount <= 1)
                {
                    ConsoleOutputHelper.WriteMessage(NoSequanceMesssage, ConsoleMessageType.Warrning);
                }
                else
                {
                    ConsoleOutputHelper.WriteMessage(MaxSequanceMesssage, ConsoleMessageType.Success);

                    for (int i = maxcount - 1; i >= 0; i--)
                    {
                        Console.Write((lastNumber - i) + " ");
                    }
                }
            }
            else
            {
                ConsoleOutputHelper.WriteMessage(MaxSequanceMesssage, ConsoleMessageType.Success);

                for (int i = maxcount - 1; i >= 0; i--)
                {
                    Console.Write((lastNumber - i) + " ");
                }

                Console.WriteLine();

                foreach (int number in sequences.Where(number => number != 0))
                {
                    for (int i = maxcount - 1; i >= 0; i--)
                    {
                        Console.Write((number - i) + " ");
                    }
                }
            }
        }