Найти тему
Как я учил C# с нуля

Изучение С# с нуля. Урок 2. Домашнее задание. Методы, switch и циклы.

Привет!

В следующих статьях расскажу про git и свой код буду выкладывать туда.

О домашней работе.
Пытался разными способами решить задачи, но получилось так, как получилось. 3 задачи.

В комментариях в самом коде описание каждой задачи. В дальнейшем я буду всегда в домашней работе писать описание задач.

3 задачи для домашнего задания
3 задачи для домашнего задания

Было сделано Menu() с выбором нужной задачи через switch

1. Написать метод, возвращающий минимальное из трёх чисел.

Решение, мягко говоря, не идеальное. Скорее всего, преподаватель имел ввиду написать метод с помощью цикла, но как говорят программисты: "Работает - не трогай!" На самом деле, узнаем в третьем уроке при проверке домашней работы.

2. Написать метод подсчета количества цифр числа.

Math.Log10(x). Если значение x меньше 0, возвращаемое значение всегда будет равным NaN.

NaN - Глобальное свойство NaN является значением, представляющим не-число (Not-A-Number).

Однако, при вводе числа 000123 или 0123 или 00000001 результат будет 3, 3 и 1 соответственно. Программа не учитывает эти нули, так же как в жизни, мы говорим не 07, 06, а 7 и 6. На данный момент у меня нет официального объяснения как это происходит, но логику программы я понимаю.

00012 это 2 цифры
00012 это 2 цифры

Отличное дополнение от пользователя с ником kolorotur с форума cyberforum.ru :

Никогда, ни в коем случае не работайте с числами через конвертирование их в строку.
Во-первых, это медленно.
Во-вторых, чисто технически глупо забивать кучу для тривиальных задач.
В-третьих, если это задание в школе или универе, то преподаватель наверняка хочет увидеть ваше умение работать с числами, а не строками.

А теперь самое главное. Строка - это
отображение числа. А у отображения есть такое свойство, как формат . Который может быть разным в разных культурах (см. региональные настройки).
Например, число один миллион в некоторых культурах отображается как "1,000,000". В нем 7 чисел, но в строке, его отображающей, девять символов. В результате программа работает не правильно.
Будет весело, если вы разрабатываете какое-нибудь приложение для работы с финансами, например.

Задача №3 похожа на ту, которую я уже решал когда учился без курсов. Видео на моем Ютуб канале

3. Написать метод проверки логина и пароля. Ограничить ввод пароля тремя попытками.

Но тут есть проблема решение которой я пока не знаю. Если ввести сначала неправильный логин, то попытка "отнимется", однако если со второй попытки ввести правильный логин, то программа уже не будет его принимать, а продолжит "отнимать" попытки. Так же и с паролем. Дополню когда найду решение этой проблемы.