Fala galera! Estou fazendo um trabalho de algoritmos. O objetivo é fazer um algoritmo que recebe o ano e como saída da a data da Páscoa, Carnaval e Corpus Christi. Porém o Corpus Christi sempre da 2 dias a mais, como se a estrutura for sempre repetisse mais 2 vezes (o Corpus é 60 dias após a Páscoa). Alguém sabe o que tem de errado? segue a parte do código que está a parte que deve estar o erro: (só botei a parte do erro por que as outras duas datas está tendo a saída correta, as variáveis mes e dia são a data da Pascoa)
//CONTAGEM CORPUS CHRISTI
int y,diacorpus,mescorpus;
for (y=0 ; y<60 ; y++){
// Se não for final de mes, soma um dia
if ( ((mes == 1 || mes == 3 || mes == 5 || mes == 7 || mes == 8 || mes == 10 || mes == 12) && (dia!=31)) || ((mes == 6 ||mes == 9 || mes== 11 || mes==4) & (dia != 30)) || (mes==2 && contbissexto==0 && dia!=28) || (mes == 2 && contbissexto == 1 && dia != 29) ){
dia++;
}
// Se for final de mês,soma um mês e muda o dia
if ( ((mes == 1 || mes == 3 || mes == 5 || mes == 7 || mes == 8 || mes == 10 || mes == 12) && (dia==31)) || ((mes == 6 || mes == 9 || mes== 11 || mes==4) & (dia == 30)) || (mes==2 && contbissexto==0 && dia==28) || (mes == 2 && contbissexto == 1 && dia == 29)){
mes++;
dia=1;
}