% возвращает остаток от деления. с преобразованием в bool норм.проверка ty%400 не доведена до конца (что там д.б. == или !=)Код:(ty % 100 != 0)) || (ty % 400))
переменная int start имеет то же имя, что и функция int start() (207 строка кода). Переименуйте название переменной в функции calcLwmaКод:double calcLwma(int start, int period)
В что, поставить ==0 что-то мешает?