Programación calendario perpetuo c
# incluir ltstdlib.h gt
int JudgeLeapYear(int);
int MonthDay(int m, int y);
encabezado de impresión nulo(void);
int Primera Semana(int m, int y);
mes de impresión nulo(int m);
int main(int argc, char* argv[])
{
int año, mes, día, prueba, semana;
printf(" Año: ");
scanf("d ", amp año);
for(mes = 1; mes lt=12; mes)
{
prueba = 1;
imprimirMes(mes);
imprimir encabezado();
semana=PrimeraSemana(mes, año) ;
si (semana lt6)
{
para(I = 0; i lt=semana; i)
{
putchar(' \ t ');
prueba
}
}
for(I = 1; i lt= MesDía (mes, año); i, prueba)
{
printf("d\t ", I);
if (Prueba 7==0)
{
putchar('\n');
}
}
putchar('\n');
Sistema("pausa");
}
Devuelve 0;
}
int JudgeLeapYear(int y)
{
¿Retorno (y 4 = = 0 amp ampy100||y400==0)? 1: 0;
}
int Primera Semana(int mes, int año)
{
Si (mes lt3) p>
{
Mes = 12;
Año -;
}
retorno(1 2 *Mes 3* (mes 1)/5 años/4 años/100 años/400) 7;
}
int MonthDay(int mes, int año)
{
int d;
Cambiar (mes)
{
Caso 1:
Caso 3:
Caso 5:
Caso 7:
Caso 8:
Caso 10:
Caso 12: d = 31 roto;
Caso 4:
Caso 6:
Caso 9:
Caso 11: d = 30; Pausa;
Caso 2: d=JudgeLeapYear(año)? 29:28;Pausa;
}
Regreso d;
}
Cabezal de impresión vacío (void)
{
printf(" s \ t s \ t s \ t s
\ts\ts\ts\ts\t\n","dom","lun","mar","mié","jueves","viernes","sábado");
}
void printMonth(entero)
{
Interruptor (m)
{
Valor predeterminado:
Caso 1: puts(" = = =Enero== "); break
Caso 2: opciones de venta(" ===Febrero== "); /p>
Caso 3: Opción de venta (" ===Marzo== "); Pausa;
Caso 4: Opción de venta (" ===Abril== ");Pausa;
Caso 5: Opciones de venta (" ===possible== "); Break;
Caso 6: Opciones de venta (" ===June== " ); /p>
Caso 7: opción de venta (" ===Julio== ");
Caso 8: opción de venta (" ===Agosto= = "); /p>
Caso 9: Opción de venta (" === Septiembre== ");
Caso 10: Opción de venta (" === Mes== "); /p>
Caso 11: puts(" = = = Noviembre== "); Break;
Caso 12: Opción de venta (" === Diciembre = = "); p>
}
}