Red de conocimiento informático - Material del sitio web - Cómo hacer un calendario usando lenguaje c

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:?

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);?

¿más?

printf("d",día);?

Días_año;?

día;?

}?

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?

}