Red de conocimientos turísticos - Guía para elegir días propicios según el calendario chino - Rogando por la programación del calendario perpetuo en lenguaje C

Rogando por la programación del calendario perpetuo en lenguaje C

# incluir & ltstdio.h & gt

# 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()

{

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.

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;

}