Rogando por la programación del calendario perpetuo en lenguaje C
# incluir & ltstdlib.h & gt.
# include & lttime.h & gt
char * mes _ str【】= {"enero" "febrero" "marzo" "abril" "mayo ""junio"" julio""agosto""septiembre""octubre""noviembre"y"diciembre"}
char * semana【】= {"lunes" ", "martes", "miércoles", "jueves", "viernes", "sábado" y "domingo"};
A lo largo del año
{
if ((año % 4 == 0 & & año % 100 ! = 0) | (año % 400 == 0))
Devuelve 1
Otros
Devuelve 0;
}
Número entero de días (años enteros, meses enteros)
{
int mon_day【】= {31, 28, 31, 30, 31, 30, 31, 30, 31, 30, 31}
Si (un año) después& mes == 2 )
Devuelve 29;
Otros
return (mon_day[month-1]);
}
Búsqueda de días enteros (año entero, mes entero, día entero)
{
int c = 0;
flotador s;
int m;
para (m = 1; m & ltmes; m++)
c = c+mes_día (año, m);
c = c+día;
s = año-1+( float)(año-1)/4+(float)(año-1)/10(float)(año-1) /400-4c;
Retorno ((int)s % 7);
}
Número entero de años (número entero de años)
{
int temp
int i,j;
printf("\n\n % d almanaque\n", año);
p>
for(i=1;i< =12;i++)
{
printf("\n\n %s(%d)\n" , mes _ str [I-1], I); /p>
printf ("S M T W T F S \ n \ n");
temp = búsqueda del día (año, I, 1
for (j = 1; j); & lt= mes _ día (año, I) + temp; j++)
{
if (j-temp <=0)
printf( "");
else if(j-temp<10)
printf("%d",j -temp);
Otro
printf ("% d", j-temp);
if (j % 7 = = 0)
printf("\n");
}
}
Devuelve 0;
}
int main()
{ p>
opción int, da;
char ch
int año, mes, día
Temporizador entero largo;
struct tm * timenow
int i, j;
int mes _ día[]= {31, 28, 31, 30, 31, 30, 31, 30, 31, 30, 31};
Printf("¡Hola! ! ! \n\n\¡Bienvenido al sistema de calendario perpetuo! \n "
temporizador = hora(0);
hora ahora = hora local(& temporizador); año %d mes %d día %d hora %d minuto", (* timenow).tm_year+1900, (*timenow).tm_mon+1, (*timenow).tm. p>
printf(" \n\nCalendario de este mes\n");
printf("\nS M T W T F S\n \n");
da=DaySearch (año, mes, día);
for (I = 1; i & lt= mes _ día [(* hora ahora). TM _ mon]; i++)
{
j = (* hora ahora). tm_wday
if ((* hora ahora). TM_mday % 7-(* hora ahora). tm_wday) = 0 )
printf ("");
Otro
printf ("% d", I
if (I % 7 = = 0)
// printf ("\n");
putchar ("\n");
}
mientras(1)
{
printf("\nSeleccione el tipo de servicio:\n");
printf("\n 1 consulta"); Consulta de año bisiesto");
printf ("\n3 Almanaque");
printf ("\n4Exit \n");
scanf("% d", & opciones);
cambiar (opcional)
{
Caso 1:
mientras(1)
{
printf("\nIngrese el año, mes y día (XXXX, XX, XX:)");
scanf("%d, %d , %d, %c", & año y año. mes y hora.
día);
da=DaySearch (año, mes, día);
printf ("\n % d-% d es %s, ¿quieres seguir usando este servicio)? ?" (Y/N)", año, mes, día, semana [da]);
fflush (stdin
scanf ("% c", & ampch) ;
if (ch = ='N'| | ch = ='N')
Romper
}
Romper; ;
Caso 2:
Aunque (2)
{
printf ("\nIngrese el año de la consulta en el formato ( XXXX)" );
scanf ("% d", & año);
if (IsLeapYear(año))
printf ("\n % d es bisiesto, ¿quieres seguir usando este servicio? (sí/no)", año);
Otro
printf("\n %d no es bisiesto año, ¿quieres seguir usando este servicio? (sí/no)?", año);
fflush(stdin);
scanf("%c",&ch) ;
if (ch = ='N'| | ch = ='N')
Romper;
}
Romper ;
Caso 3:
Aunque (3)
{
printf ("\nIngrese el año de la consulta en el formato ( XXXX)");
scanf("%d",&year);
Año de impresión;
Printf("¿Quieres seguir usando este servicio? (S/N)?" );
fflush(stdin);
scanf("% c",& ampch);
if(ch = ='N'| | ch = ='N')
Romper;
}
Romper;
Caso 4:
fflush (stdin);
Printf ("¿Estás seguro de que quieres salir? (Sí/No");
scanf ("% c", & ampch);
if(ch = ='Y'| | ch = ='Y')
Salir(0);
Romper;
Valor predeterminado:
printf ("\nRecordatorio de error: Error de entrada, ¡confirme la entrada nuevamente!\n ");
}
}
Devuelve 0;
}