Мы продолжаем создание целого калькулятора для демонстрации использования шаблона проектирования State. На этом уроке мы реализуем переход между состояниями ввода данных.
Чему научился:
Реализовывать основной метод main() в классе Program(), а также методы show() и press() в классе Context() и метод digit() в классе StateFirst()
Что было сложным:
-------------
Оценка видео-уроку:
Оцени работу
Сохранить страницу:
Отчёт оценивали: 791. Валерий Жданов+124765. Anatoli+18835. Булат+16203. Николай Миролюбов+128332. Людмила017947. Dmitry Sinitsin+11232. Фомичева Наталья+128410. Alim0
Начинаем практику по языку C#
Чтобы стать хорошим программистом — нужно писать программы.
На нашем сайте очень много практических упражнений.
После заполнения формы ты будешь подписан на рассылку
«C# Вебинары и Видеоуроки»,
у тебя появится доступ к видеоурокам и консольным задачам.
Несколько раз в неделю тебе будут приходить письма —
приглашения на вебинары, информация об акциях и скидках,
полезная информация по C#.
Научился: Повторил пройденное Тут не одна ошибка в коде, тут их куча!
Что было мной выявлено при тестировании калькулятора:
1 - нужно сбрасывать значение второй переменной в методе StateOpers().opers()
2 - нужно произвести калькуляцию в начале метода StateSecond().opers()
3 - в методе calc() добавил проверку: "Делить на ноль нельзя!"
4 - метод calc() перенёс в класс Context(), так как он вызывается не только в StateResult()
5 - не нужно производить калькуляцию при вводе очередного числа в StateResult()
6 - не нужно производить калькуляцию при вводе операции в StateResult()
7 - нужно делать сброс при вводе числа в StateResult()
8 - оставить ситуацию без изменений, если ввести символ, который не поддерживается
9 - что бы не ввели, брать первый символ
з.ы.
Помимо этого, как видно из скриншота, динамически увеличивается список истории вычислений.
В результате отображается текущая ситуация, что тоже видно на скриншотах.
Обкатал калькулятор, вроде все нюансы учёл, баги больше не встречались.
Научился: Реализовывать основной метод main() в классе Program(), а также методы
show() и press() в классе Context() и метод digit() в классе StateFirst()