Я использую модуль неправильно? Моя программа всегда будет вводить оператор if

bool leap = false;
int leapd = 28;

if (year % 100 == 0) {
if (year % 400 == 0) {
leap = true;
}
else { leap = false; }
}

else if (year % 4 == 0) {
leap = true;
}
else { leap = false; }
if (leap = true) {
leapd++;
}

Эта программа решает, является ли введенный год високосным или нет. Я не уверен, почему, но программа всегда будет устанавливать leap к истине в конце.

Если год делится на 100, то это високосный год, если он также делится на 400.

Если он не делится на 100, это будет високосный год, если вы можете разделить год на 4.

-1

Решение

Так должно быть if (leap == true) для вашего последнего if заявление. Если вы исправите это, оно должно работать. = переменная присваивания Так в твоем последнем if утверждение, а не сравнение leap а также true с помощью == вы назначаете leap в true с помощью =,

Итак, ваше последнее утверждение if должно быть:

if (leap == true)
{
leapd++;
}
2

Другие решения

Последний цикл должен выглядеть следующим образом

if (leap == true)
{
leapd++;
}

То, как у вас сейчас это будет установлено leap в True а затем оценить if, Который всегда будет True, Проверка состояния должна быть ==,

0

По вопросам рекламы [email protected]