Vous êtes sur la page 1sur 5

#include <stdio.h> #include <stdlib.h> #include <locale.

h> cabec() { int i; system("CLS"); for(i=1 ;i<=38 ;i++)putchar('*'); putchar('\n'); printf("\n DIA DA SEMANA \(EM LINGUAGEM C\)\n"); printf("\n\tBy Nivaldo Galavotti\n\n"); for(i=1 ;i<=3 ;i++)putchar('\t'); printf("\t V.1.1\n"); for(i=1 ;i<=38 ;i++)putchar('*'); putchar('\n'); } int codmes(int mes) { switch (mes) { case 1: return 0; break; case 2: return 3; break; case 3: return 3; break; case 4: return 6; break; case 5: return 1; break; case 6: return 4; break; case 7: return 6; break; case 8: return 2; break; case 9: return 5; break; case 10: return 0; break; case 11: return 3; break; case 12: return 5; } } int anobis(int ano,int mes) { int result; if (ano%4 != 0) return 0; else { if(ano%100==0) { if(ano%400==0) { if (mes==1 || mes==2) return 1; else return 0; } else return 0; } else

{ if (mes==1 || mes==2) return 1; else return 0; } } } char *diasem(int dia, int mes, int ano) { int cod; cod =(ano +(ano/4)+codmes(mes)+dia-anobis(ano,mes)-2)%7; switch(cod) { case 0: return "um domingo";break; case 1: return "uma segunda-feira";break; case 2: return "uma tera-feira";break; case 3: return "uma quarta-feira";break; case 4: return "uma quinta-feira";break; case 5: return "uma sexta-feira";break; case 6: return "um sbado"; } } int verif1(int dia) { if (dia<1 || dia>31) return 0; else return 1; } int verif2(int dia) { if (dia<1 || dia>30) return 0; else return 1; } int verifdia(int { switch (mes) { case 1: return break; case 3: return break; case 5: return break; case 7: return break; dia, int mes,int ano)

verif1(dia);

verif1(dia);

verif1(dia);

verif1(dia);

case 8: return verif1(dia); break; case 10: return verif1(dia); break; case 12: return verif1(dia); break; case 4: return verif2(dia); break; case 6: return verif2(dia); break; case 9: return verif2(dia); break; case 11: return verif2(dia); break; case 2: if (anobis(ano,mes)==0) { if (dia<1 || dia>28) return 0; else return 1; } else { if (dia<1 || dia>29) return 0; else return 1; } } } int ultdia(int mes,int ano) { switch (mes) { case 1: return 31; break; case 3: return 31; break; case 5: return 31; break; case 7: return 31; break; case 8: return 31; break;

case 10: return 31; break; case 12: return 31; break; case 4: return 30; break; case 6: return 30; break; case 9: return 30; break; case 11: return 30; break; case 2: if (anobis(ano,mes)==0) return 28; else return 29; } } main() { int dia,ano,mes; char verif; setlocale(LC_ALL,""); verif='s'; while(verif=='s' || verif=='S') { cabec(); printf("\nEntre com um valor para o dia (1-31): \n"); scanf("%d",&dia); printf("\nEntre com um valor para o ms (1-12): \n"); scanf("%d",&mes); printf("\nEntre com um valor para o ano (Ex:2012): \n"); scanf("%d",&ano); while (ano/1000<1) { cabec(); printf("\n%d\" - valor invlido para ano\n",ano); printf("\nEntre com um novo valor para o ano (Ex:2012): \n"); scanf("%d",&ano); } while (mes<1 || mes>12) { cabec(); printf("\n%d\" - valor invlido para ms\n",mes); printf("\nEntre com um novo valor para o mes (1-12): \n"); scanf("%d",&mes); } while (verifdia(dia,mes,ano)==0) {

cabec(); printf("\n%d\" - valor invlido para dia\n",dia); printf("\nEntre com um novo valor para o dia (1-%d): \n",ultdia(mes,ano)); scanf("%d",&dia); } cabec(); printf("\nA data %d/%d/%d %s.\n\n",dia,mes,ano,diasem(dia,mes,ano)); printf("\nVoc deseja fazer uma nova consulta\?(s/n)"); scanf(" %c",&verif); } }

Vous aimerez peut-être aussi