¡Programación en lenguaje C! ¡Rogando por el código fuente!
#includelt;stdio.hgt;
#define lunes 1
#define martes 2
#define miércoles 3
#define jueves 4
#define viernes 5
#define sábado 6
#define domingo 0
#define días_de_enero 31
#define días_de_febrero 28
#define días_de_marzo 31
#define días_de_abril 30
#define días_de_mayo 31
#define días_junio 30
#define días_julio 31
#define días_agosto 31
#define días_septiembre 30
#define días_octubre 31
#definir días_noviembre 30
#definir días_diciembre 31
#definir primer1mes días_enero
#definir primer2mes días_enero días_febrero
#define primeros 3 meses días_enero días_febrero días_marzo
#define primeros4 meses días_enero días_febrero días_marzo días_abril
#define primeros5 meses días_enero días_febrero días_marzo días_abril días_mayo
#define primeros6 meses días_enero días_febrero Días_marzo Días_abril Días_mayo Días_junio
#define primeros 7 meses Días_enero Días_febrero Días_marzo Días_abril Días_mayo Días_junio \
Días_julio
#define primeros8 meses Días_enero Días_febrero Días_marzo Días_abril Días_mayo Días_junio \
Días_julio Días_agosto
#define primeros9 meses Días_enero Días_febrero Días_marzo Días_abril Días_mayo Días_junio \
Días_julio Días_agosto Septiembre
er_days
#define primeros 10 meses días_enero días_febrero días_marzo días_abril días_mayo días_junio \
días_julio días_agosto días_septiembre días_octubre
#define primeros11 días_mes_enero días_febrero días_marzo días_abril días_mayo días_junio \
Días_julio Días_agosto Días_septiembre Días_octubre Días_noviembre
int conocido_día_semana = martes;
int año_conocido = 1901;
int konwn_mes = 1;
int día_conocido = 1;
int día_count(int mes)
{
cambiar(mes)
{
caso 1: devuelve 0;
caso 2: devuelve el primer mes;
caso 3: devuelve el primer 2 mes; : devolver el primer 3 mes;
caso 5: devolver el primer 4 mes;
caso 6: devolver el primer 5 mes; ;
caso 8: devolver el primer 7 mes;
caso 9: devolver el primer 8 mes;
caso 10: devolver el primer 9 mes;
caso 11: devolver los primeros 10 meses;
caso 12: devolver los primeros 11 meses; *char * nombre_mes(int mes)
{
switch(mes)
{
caso 1:
devolver "enero";
descanso
caso 2:
devolver "febrero"; >
c
ejemplo 3:
devuelve "marzo";
descanso
caso 4:
devuelve "abril";
descanso;
caso 5:
devolver "mayo";
descanso
caso 6:
devolver "junio";
descanso
caso 7:
devolver "julio"
descanso
p> p>caso 8:
devuelve "agosto";
descanso
caso 9:
devuelve " Septiembre" ;
descanso;
caso 10:
retorno "Octubre";
descanso;
caso 11:
devuelve "noviembre";
descanso
caso 12:
devuelve "diciembre";
romper;
predeterminado:
romper
}
}*/
char * nombre_mes( int mes)
{
cambiar(mes)
{
caso 1:
retorno "一 mes";
descanso
caso 2:
retorno "febrero"; p > caso 3:
devuelve "marzo";
descanso
caso 4:
devuelve "abril"; p>
descanso;
caso 5:
retorno "mayo";
descanso
caso 6:
p>
devolver "junio";
p>
descanso;
caso 7:
retorno "julio";
descanso
caso 8:
p>devuelve "agosto";
descanso;
caso 9:
devuelve "septiembre";
caso 10:
devuelve "octubre";
descanso
caso 11:
devuelve "; Noviembre";
descanso;
caso 12:
retorno "Diciembre";
descanso ;
predeterminado:
descanso;
}
}
/*Imprimir un año determinado en un formato determinado Nombre del mes*/ p>
void first_line_print(int mes, int año)
{
//printf("20s d \n", nombre_mes(mes), año ); p>
printf("8d año s \n", año, nombre_mes(mes));
}
/*Imprime el día de la semana según el formato. Nombre*/
voidweek_print()
{
//printf("-6s-6s-6s-6s-6s-6s-6s\n ", "Domingo.", "Lunes.", "Martes.", "Miércoles.", "Jueves.", "Viernes.", "Sábado.");
printf("-3s -3s-3s-3s-3s-3s-3s\n", "日", "一", "二", "三", "四", "五", "六");
}
/*Calcular el número de días entre el mes del año y el día conocido*/
int date_distance_count(int mes, int año)
{
int salto_año_count = 0;
int i;
int distancia
if (año gt; año_conocido)< / p>
{
for (i=año_conocido; ilt; año; i )
{
if(((i4 == 0) amplificador ;amp; (i100 != 0) ) || (i400 == 0))
{
salto_ye
ar_count;
}
}
si (mes gt; 2)
{
si(( (año4 == 0) amp; (año100 != 0) ) || (año400 == 0))
{
Leap_year_count
}
}
}
más
si (año == año_conocido)
{
if (mes gt; 2)
{
Leap_year_count = 1
}
}
distancia = (año - año_conocido)*365 año_salto_cuenta cuenta_día(mes);
distancia de retorno
}
/*Determina el primero de los mes El día de la semana*/
int makesure_firstday_weekday(int mes, int año)
{
int date_distance = 0
int día de la semana;
date_distance = date_distance_count(mes, año);
día de la semana = (conocido_weekday date_distance)7;
devolver día de la semana;
}
/*Imprimir los días del mes en secuencia*/
void print_in_turn(int mes, int primer día, int año)
{
int i = 1;
int día de la semana
cambiar(primer día)
{
caso sol; :
descanso;
caso Mon:
printf("-3s", ""); >
caso martes:
printf("-6s", "");
descanso
caso miércoles:
printf(" -9s", "");
descanso;
caso jueves:
p
rintf("-12s", "");
descanso;
caso viernes:
printf("-15s", ""); p>
p>
descanso;
caso Sat:
printf("-18s", "");
descanso; /p>
}
cambio(mes)
{
caso 1:
caso 3:
caso 5:
caso 7:
caso 8:
caso 10:
caso 12:
{
for(i=0; ilt; 31; i )
{
día de la semana = (primer día i)7
printf( "-3d",i 1);
if(día laborable == sábado)
{
printf("\n") ;
}
}
descanso
}
caso 2:
{
if(((año4 == 0) amp; amp; (año100 != 0) ) || (año400 == 0)) /*año bisiesto*/
{
for(i=0; ilt; 29; i )
{
día de la semana = (primer día i)7
> printf("-3d ",i 1);
if(día laborable == sábado)
{
printf("\n");
}
}
descanso
}
más /*平年*/
{
for(i=0; ilt; 28; i )
{
día de la semana = (primer día i)7
printf("-3d",i 1);
if(día laborable == sábado)
{
printf("\n");
} p>
p>
}
descanso
}
}
caso 4:
caso 6:
caso 9:
caso 11:
{
for(i=0; ilt; 30 ; i ) p>
{
día de la semana = (primer día i)7 /*Calcular el día de la semana*/
printf("-3d", i 1);
if(weekday == Sat)
{
printf("\n"); línea*/
}
}
salto
}
}
}
void date_print(int mes, int año)
{
int primer día;
primer día = makesure_firstday_weekday(mes, año );
print_in_turn(mes, primer día, año);
printf("\n");
}
void main_month (int mes, int año)
{
first_line_print(mes, año
semana_print()
date_print(mes); , año);
printf("\n\n");
}
void main_calendar(int año)
{
int i;
fo
r(i=1; ilt;=12; i)
{
main_month(i, año);
}
}
int main()
{
int año;
printf("Ingrese el año: año = ");
scanf("d",amp;año);
printf("\n");
while(año lt; 1902)
{
printf("Ingrese un año mayor que 1901\n");
printf("Ingrese un año: año = "
scanf("d",&año);
printf("\n");
}
main_calendar(año); p >
scanf(" ");
devuelve 0;
}