Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Algoritmo que Calcula Feriados.

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    C / C++ Algoritmo que Calcula Feriados.

    Código:
    #include<stdio.h>
    
    void Dia_do_Mes(int);
    
    int main(){
        int  ano;
        printf("Informe um numero que represente o ano: Formato (aaaa): ");
        scanf("%d",&ano);
        Dia_do_Mes(ano);
        return 0;
    }
    
    
    void Dia_do_Mes(int ano){
        int  A, B, C, D, E, F, G, H, I, K, L, M;
        int cont=0, b6=0, dia, mes, aux1, aux2;
        A=ano%19;
        B=ano/100;
        C=ano%100;
        D=B/4;
        E=B%4;
        F=(B+8)/25;
        G=(B-F+1)/3;
        H=(19*A+B-D-G+15)%30;
        I=C/4;
        K=C%4;
        L=(32+2*E+2*I-H-K)%7;
        M=(A+11*H+22*L)/451;
        mes=(H+L-7*M+114)/31;
        dia=(H+L-7*M+114)%31+1;
    
        if((ano%4==0 && ano%100!=0) || (ano%400==0))
            b6=1; //Ano bissexto
    
        if(mes==3){
            printf("\nFeriados que ocorreram em %d:\n\n",ano);
            aux1 = (28+b6+31+dia)-47;
            if(aux1>31)
                printf("\n%d/%d/%d - Carnaval\n",aux1-31,mes-1,ano);
            else
                printf("\n%d/%d/%d - Carnaval\n",aux1,mes-2,ano);
            printf("\n%d/%d/%d - Sexta-Feira Santa\n",dia-2,mes,ano);
            printf("\n%d/%d/%d - Pascoa\n",dia,mes,ano);
            aux2 = (dia+60)-30;
            if(aux2<=30)
                printf("\n%d/%d/%d - Corpus Christi\n\n",aux2, mes+1,ano);
            else
                printf("\n%d/%d/%d - Corpus Christi\n\n",aux2-31, mes+2,ano);
        }
    
        else if(mes==4) {
            printf("\nFeriados que ocorreram em %d:\n\n",ano);
            aux1 = (28+b6+31+dia)-47;
            if(aux1>28+b6)
                printf("\n%d/%d/%d - Carnaval\n",aux1-28,mes-1,ano);
            else
                printf("\n%d/%d/%d - Carnaval\n",aux1,mes-2,ano);
            printf("\n%d/%d/%d - Sexta-Feira Santa\n",dia-2,mes,ano);
            printf("\n%d/%d/%d - Pascoa\n",dia,mes,ano);
            aux2 = (dia+60)-31;
            if(aux2<=31)
                printf("\n%d/%d/%d - Corpus Christi\n\n",aux2, mes+1,ano);
            else
                printf("\n%d/%d/%d - Corpus Christi\n\n",aux2-30, mes+2,ano);
        }
    }
X
Working...
X