Cómo hacer un calendario usando lenguaje c
1. Requisitos funcionales:
1) Al ingresar cualquier año, se mostrarán las fechas y las semanas correspondientes de todos los meses de ese año.
2) Preste atención al salto años
p>Los requisitos de formato de visualización son los siguientes:
1) Copia: tanto en chino como en inglés están disponibles
2) La siguiente línea comienza a mostrarse el día de la semana, de domingo a sábado, tanto en chino como en inglés están disponibles
3) La siguiente línea comienza a mostrar la fecha, comenzando desde el 1, y alineándola verticalmente con el número de semana mencionado anteriormente. según la situación real de la semana número
Rutina: #include?lt ;stdio.hgt;?
#includelt;conio.hgt;?
#includelt;stdlib.hgt;?
int?IsLeapYear(int); //declarar encabezados y funciones
void?main()?
{?
int?i;?
int?
int?
int?temp;?
int?temp_i;?
largo?
int?Año_Inicio?=?1;?
int?Por_Año_Días;?
int?month_day[]={31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 29};?//El número de días de cada mes, el último día es febrero en años bisiestos
printf("Ingrese el año:?");?
scanf("d",amp;year);//Ingrese el año
while(Year_Start?lt;?year)?//Calcule el número de días desde el 1 de enero del 1 d.C. hasta el año antes de realizar la consulta sobre el año, con el fin de determinar posteriormente qué día del primer día del año es
{?
if(?IsLeapYear(?Year_Start?)? ) ?// Determinar el número de días en un año, el año bisiesto tiene 366 días, generalmente 365 días
Días_por_año?=?366;?
¿otro?
Días_por_año?=?365;?
Días_año?=? ¿Días_año? ?Días_por_año;?
Año_Inicio ;?
}?
para (?temp?=?1;?temp?lt;=12;? temp?) // Recorrer el calendario de cada mes
{?
switch(?temp? )?
{? ?1:?
printf("?Enero(d)\n",año); //por ejemplo?Enero (2008)
descanso;?
caso?
printf("?Febrero(d)\n",año);?
descanso;?
caso?3:? p>
printf("?Marzo(d)\n", año);?
descanso;?
caso?4:?
printf("?Abril(d)\n", año);?
descanso;?
caso?5:?
printf("?May(d)\n", año);?
descanso;?
caso?6 :?
printf("?Junio(d)\n",año);?
descanso;?
caso?7:?
printf("?Julio(d)\n",año);?
descanso;?
caso?8:?
printf ("?Agosto(d)\n",año);?
descanso;?
caso?9:?
printf("?Septiembre( d)\n", año);?
descanso;?
caso?10:?
printf("?Octubre(d)\n" , año);?
descanso;?
caso?11:?
printf("?Noviembre(d)\n", año);?
descanso;?
caso?12:?
printf("?Diciembre(d)\n", año);?
break;?
}?
i?=?Year_days??7;//Calcular qué día de la semana es el primer día de cada mes
printf ("lunes?martes?miércoles?jueves?viernes?sábado?domingo\n");?
if(?i! =?0?)?
para (?temp_i ?=?0;?temp_i?lt;?i;?temp_i )//el primer día no es lunes, recupere el espacio delante, había menos espacios, agregué dos
printf ("");?
día?=?1;?
if(?IsLeapYear(año)? amp;amp;?temp?==?2) ?/año bisiesto febrero
while(?day?lt;=?month_day[12]?) ?
{?
if(?day?gt ; 1 ?)?
if(?Días_año??7?==?0?)?
if(?Días_año??7?==?0?)?
printf("\n");?
if(?day?gt;=?10?)//Si es mayor o igual que el décimo, genera la fecha y agregue 2 espacios si es menor que 10, entonces genere la fecha y agregue 3 espacios
printf("d?", day); primero, simplemente envíelos. Creo que se usa para ajustar el formato
printf("d?", day);// Empecé a pensar para qué sirven estas líneas, siempre y cuando. hay salida, solo creo que se usa para ajustar el formato
printf("d?", day);// Empecé a pensar para qué sirven estas líneas, solo envíelas, pero Solo pensé que se usa para ajustar el formato
de lo contrario/// Es solo que no lo ajustó bien. Hice el siguiente cambio y ahora está muy bien
>
printf("d", día);?
Días_año;?
día;?
}?
else //no año bisiesto febrero
while(day?lt;=?month_day[temp-1])//salida, igual que arriba
{? p>if(?día?gt;?1?)?
if(?Días_año??7?==?0?)?
printf("\n") ;?
if(?day?gt;=10?)?// El motivo es el mismo que el anterior
printf("d?",day);? p>
¿más?
printf("d",día);?
Días_año;?
día;?
}? p>
printf("\n");?
if(?getch()? ==?' q'?) ?// Ingrese q para salir del programa
salir(0); ?
}?
getch() ?
}?
int?IsLeapYear(?int ?año?)?
{?
if((año?4?==?0)? amp;amp;?(año??100 ?! =?0) ?||?// El año es divisible por 4 y no divisible por 100 Si es divisible por 400 es bisiesto
(año??400?= =?0)??
¿devolver?
¿otra cosa?
}