Урок № 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# в частности…