Другие языки программирования и технологии

Объясните ко программы пожалуйста

using System;
namespace RecursiveAlgorithms
{
public class Program
{
public static void Main(string[] args)
{
Console.Write("Введите номер дня: ");
int dayNumber = int.Parse(Console.ReadLine());

if ((dayNumber >= 1) && (dayNumber <= 365))
{
int day = dayNumber % 7;

string dayName = null;

if (day == 1) dayName = "Вторник";
else if (day == 2) dayName = "Среда";
else if (day == 3) dayName = "Четверг";
else if (day == 4) dayName = "Пятница";
else if (day == 5) dayName = "Суббота";
else if (day == 6) dayName = "Воскресенье";
else if (day == 0) dayName = "Понедельник";
else dayName = "ERROR";

Console.WriteLine(dayName);
}
else Console.WriteLine("ERROR");
}
}
}
Valeriu Lisnic
Valeriu Lisnic
33
using System; // Использовать классы системы, типа записи в строку и тд
namespace RecursiveAlgorithms // Пространство имен
{
public class Program // Название класса
{
public static void Main(string[] args) // Входной метод void - ничего не возвращает, принимает как параметр массив строк
{
Console.Write("Введите номер дня: "); // Выводит в консоли сообщение
int dayNumber = int.Parse(Console.ReadLine()); // Читает введенное в консоли число, переводит в формат целого числа (Integer), и задает значение переменной dayNumber

if ((dayNumber >= 1) && (dayNumber <= 365)) // Если введенный день больше либо равен 1 И веденный день меньше либо равен 365, то
{
int day = dayNumber % 7; // Проверяет на кратность 7ми (деление по модулю), если кратно выдаст 0, если нет, то остаток

string dayName = null; // задаем переменную для названия дня недели, тип - строка

if (day == 1) dayName = "Вторник"; // тут включается выше использованная штука для вычесления деления по модулю и задается название дня в зависимости от остатка
else if (day == 2) dayName = "Среда";
else if (day == 3) dayName = "Четверг";
else if (day == 4) dayName = "Пятница";
else if (day == 5) dayName = "Суббота";
else if (day == 6) dayName = "Воскресенье";
else if (day == 0) dayName = "Понедельник";
else dayName = "ERROR"; // Если вдруг кривой результат, то выдает строку с надписью ERROR

Console.WriteLine(dayName); // Выводит в консоль название дня недели
}
else Console.WriteLine("ERROR"); // Либо выводит надпись ОШИБКА, если число вне диапозона между 1 и 365
}
}
}
Denis Botsko
Denis Botsko
154
Лучший ответ
Valeriu Lisnic ну например если вводим 6 выйдет "Воскресенье" а если вводим 54 тоже должно быт тоже самое но остаток от деления 54 на 7 это равен 7,714 и это уже остаток неправильно т. е не 6 а 7. Но программа вводит правильный ответ. даже если в нем нет 7 в условии. Как понят?
Остаток немного странно нашли ))).

Ближайшее целое число к 54 (снизу), которое делится на 7 - это 49.
54 - 49 = 5
Остаток = 5