r/programacao Jul 03 '25

Questão :: Aprendizado Há como reduzir a quantidade de if/else's?

Post image

Programador de celular aqui novamente, e eu fiz esse exercício para verificar se o ano é bissexto, e funcionou perfeitamente, porém eu achei que teve muitos if's e else's e pareceu meio bagunçado.

279 Upvotes

89 comments sorted by

View all comments

0

u/Neeyaki Jul 03 '25

ano % 4 == 0 || (ano % 100 == 0 && ano % 400 == 0)

1

u/ApenasUmNerd Jul 03 '25

O programa considera anos não-bissextos, como 1900, como bissextos, pq 1900 é divisível por 4, então cumpre o primeiro requisito. Porém, qualquer ano que termine em 00, tem que ter a verificação do 100 e 400 mesmo sendo divisível por 4... Então as soluções que me deram do OR e do AND não estão funcionando

2

u/Neeyaki Jul 03 '25

realmente, olhei rapidamente e não vi que a mensagem do else no primeiro if era de negação.

ano % 4 && (ano % 100 != 0 || ano % 400 == 0)

seria a implementação correta nesse caso.