Урок № 16. Закрепление материала


Закрепление пройденного материала

Доброго времени суток! Этот урок, как я и обещал, будет чисто практическим, в нем мы используем все полученные из предыдущих уроков знания и навыки. Код представлен с комментариями, так что всё должно быть понятно, если Вы внимательно читали предыдущие уроки!

class Program
{
    /*
    * Данные метод выводит пользователю приглашение,
    * указанное в аргументе anOutputStr, получает введенную
    * с клавиатуры строку, переводит её в нижний регистр и
    * возвращает её
    */
    static string GetAction(string anOutputStr)
    {
        //Приглашение пользователю
        Console.Write(anOutputStr);

        //Получение первой строки
        string tmpString = Console.ReadLine();

        //Вернуть введенную строку преобразованную к нижнему регистру
        return tmpString.ToLower();
    }

    /*
    * Данный метод выводит пользователю приглашение, 
    * указанное в аргументе anOutputStr, получает введенную 
    * с клавиатуры строку, преобразует её в число и 
    * возвращает это число
    */
    static double GetNumber(string anOutputStr)
    {
        //Приглашение пользователю ввести число
        Console.Write(anOutputStr);

       //Получение первой строки
       string tmpString = Console.ReadLine();

       //Преобразование первой строки в число
       double tmpArg = Convert.ToDouble(tmpString);

       return tmpArg;
    }

    static void Main(string[] args)
    {
        //Набор констант (обозначающих действия)
        const string EXIT_ACTION = "выход";
        const string SUM_ACTION = "сложение";
        const string SUB_ACTION = "вычитание";
        const string MUL_ACTION = "умножение";
        const string DIV_ACTION = "деление";

        //Приглашение пользователю
        const string USER_MANUAL = "Введите одну из команд: \n сложение\n вычитание\n умножение\n деление\n выход \n\nКоманда: ";

        //Для хранения полученной от пользователя команды
        string action = "";

        do
        {
            //Вывести приглашение пользователю указать действие
            action = GetAction(USER_MANUAL);

            //Если введена команда не означающая выход из программы
            if (action != EXIT_ACTION)
            {
                switch (action)
                {
                    //Сложение
                    case SUM_ACTION:
                    {
                        //Получение первого слагаемого
                        double firstArg = GetNumber("Введите первое слагаемое: ");

                        //Получение второго слагаемого
                        double secondArg = GetNumber("Введите второе слагаемое: ");

                        //Вычисление результата
                        double result = firstArg + secondArg;

                        //Вывод результата
                        Console.WriteLine("Результат операции: " + result + "\n\n");
                    }
                    break;

                    //Вычитание
                    case SUB_ACTION:
                    {
                         //Получение уменьшаемого
                         double firstArg = GetNumber("Введите уменьшаемое: ");

                         //Получение вычитаемого
                         double secondArg = GetNumber("Введите вычитаемое: ");

                         //Вычисление результата
                         double result = firstArg - secondArg;

                         //Вывод результата
                         Console.WriteLine("Результат операции: " + result + "\n\n");
                    }
                    break;

                    //Умножение
                    case MUL_ACTION:
                    {
                        //Получение первого множителя
                        double firstArg = GetNumber("Введите первый множитель: ");

                        //Получение второго множителя
                        double secondArg = GetNumber("Введите второй множитель: ");

                        //Вычисление результата
                        double result = firstArg * secondArg;

                        //Вывод результата
                        Console.WriteLine("Результат операции: " + result + "\n\n");
                    }
                    break;

                   //Деление
                   case DIV_ACTION:
                   {
                        //Получение делимого
                        double firstArg = GetNumber("Введите делимое: ");

                        //Получение делителя
                        double secondArg = GetNumber("Введите делитель: ");

                        //Вычисление результата
                        double result = firstArg / secondArg;

                        //Вывод результата
                        Console.WriteLine("Результат операции: " + result + "\n\n");
                   }
                   break;

                   //Введена неизвестная команда
                   default:
                       Console.WriteLine("Неизвестная команда");
                   break;
                } 
            }
         //Пока не введена команда "выход"
         } while (action != EXIT_ACTION);
     }
}

Разберитесь с кодом, соберите проект и запустите приложение, поэкспериментируйте с командами! А в следующем уроке мы поговорим о таких понятиях как класс и объект в объектно-ориентированном программировании и языке C# в частности…

Перейти к следующему уроку