#include void imprimeCabecalho(int m){ char diaDaSemana[][4] = {"SEG","TER","QUA","QUI","SEX","SAB","DOM"}; char mes[][4] = {"Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"}; int i; /* escreve um cabeçalho para o mes */ printf("-----------------------------------\n"); printf(" %s-2012 \n",mes[m]); printf("-----------------------------------\n"); for(i = 0; i < 7; i ++){ printf(" %s ",diaDaSemana[i]); } printf("\n"); printf("-----------------------------------\n"); } int imprimeMes(int m, int d1){ int diasDoMes[] = {31,29,31,30,31,30,31,31,30,31,30,31}; int i; imprimeCabecalho(m); /* 'desloca' a posição do primeiro dia para que fique na coluna correta */ for(i = 1; i < d1; i++) printf(" "); /* escreve o calendário, colocando cada dia na sua devida coluna */ for(i = 1; i <= diasDoMes[m]; i++) { printf("%3d ",i); /* verifica se o dia é sábado e passa para a próxima linha (próxima semana) */ if(((i+d1-1) % 7) == 0) printf("\n-----------------------------------\n"); } /* verifica se é necessário imprimir a linha final do calendário */ if(((diasDoMes[m]+d1-1) % 7) != 0) printf("\n-----------------------------------\n"); return (diasDoMes[m]+d1) % 7; } int main(){ int m, d1 = 6; for(m = 0; m < 12; m++) d1 = imprimeMes(m,d1); system("PAUSE"); return 0; }