Anuario del programa

# include ltstdio.h gt

# include lttime.h gt

# include ltstdlib.h gt

//Imprime el calendario del año actual y envíalo a su El nombre del archivo en la carpeta nombrada por el número de estudiante.

¡Nombre del archivo de salida const char! \n", año, START_YEAR);

Regresar;

}

/*Comprueba el mes ingresado*/

if ( mes lt0 || mes gt12)

{

printf("¡Mes ilegal: d! ¡El mes debe estar dentro del rango!\n", año, INICIO _ AÑO); /p>

Volver;

}

/* * * * * * * * * * * * * * * * * *Iniciar impresión del calendario* * * * * * * * * * * *

/*Título del año calendario*/

printf("calendario d\n ", año);

for(inicio mes = 1; startMonthlt=12; mes de inicio = showMonthNumPerLine)

{

showMonthNumPerLine = (mes de inicio maxShowMonthNumPerLine) lt;=12 ?maxShowMonthNumPerLine: (12-mes de inicio 1);

/* 1 mes calendario primero*/

for(mes = mes de inicio; mes lt(mes de inicio showMonthNumPerLine); mes)

{

printf("-28s ",MONTH_NAME[MES-1]);

}

printf(" \ n ");

/ * El primero de la semana en el calendario de 2 años*/

for(mes = mes de inicio; mes lt(mes de inicio showMonthNumPerLine); mes)

{

for(I = 0;ilt7;i)

{

printf("s ", SEMANA _ NOMBRE _ CORTO[I]); >}

printf(" ");

}

printf(" \ n ");

//Línea de separación< /p >

for(mes = mes de inicio; mes lt(mes de inicio showMonthNumPerLine); mes)

{

for(I = 0; i lt4*7; i )

{

printf(" _ ");

}

printf(" ");

}

printf(" \ n ");

/*Inicialización de datos*/

for(mes = mes de inicio; mes lt(mes de inicio showMonthNumPerLine ); mes)

{

//El primer día del mes de la semana

primer día del mes en el día de la semana [mes de inicio del mes] = obtener el primer día del mes en el día de la semana. (año, mes );

//Días del mes

daysofmount[mes-mes de inicio]= getdaysofmount(año, mes);<

/p>

//El contador de días que se ha generado

contador de días[mes-mes de inicio]=-primer día del mes en día de la semana[mes-mes de inicio] 1;

}

/*Programar 3 calendarios todos los días*/

showMonthCounterPerLine = 0;

while(showMonthCounterPerLine lt; showMonthNumPerLine)

{

for(mes = mes de inicio; mes lt(mes de inicio showMonthNumPerLine); mes)

{

for(I = 0; i lt7; i )

{

if(contador de días[mes-mes de inicio] lt;= 0 | | contador de días[mes-mes de inicio] gt;El día de cada mes

{

printf("4s "," ");

}

Otros

{

printf("3d ", contador de días[mes-mes de inicio]);

}

contador de días[mes-mes de inicio];

if ( contador de días[mes-mes de inicio] gt;El día del mes

{

showmonthcounterperline;

}

}

printf(" ");

}

printf(" \ n ");

}

//Línea de separación

for(mes = mes de inicio; mes lt(mes de inicio showMonthNumPerLine); mes)

{

for(I = 0; i lt4*7; i )

{

printf(" _ ");

}

printf(" ");

}

printf(" \ n ");

}

}

int principal(int argc) , char *argv[])

{

int año, mes;

time_t t = tiempo(vacío);

struct tm*now=hora local. t);

intSelect;

/*

1

Muestra un calendario para cualquier año y mes.

Genere el almanaque del año actual en el formato de dos meses por línea.

Emite el almanaque de cualquier año en el formato de dos meses por línea.

*/

mientras(1)

{

printf("××××××××××× × ×\ n ");

Printf("1 Muestra el calendario del mes actual 1 \ n ");

Printf("2 Muestra el almanaque del año actual 2 \ n ");

Printf("3 especifica el calendario de cualquier año y mes 3 \ n ");

Printf("4 especifica el calendario de cualquier año 4 \ n "); p >

printf(" 5 salidas 5 \ n ");

printf("××××××××××××\ n "); p >scanf("d", amp select);

cambiar(seleccionar)

{

Caso 1:

printMonthCalendar( ahora - gt;tm_year 1900, ahora - gt;tm_mon 1);

Pausa;

Caso 2:

printYearCalendar(now - gt;tm_year 1900, 2);

Break;

Caso 3:

Printf("Ingrese año y mes (AAAA-MM): "); p>scanf("d-d", amp año amp mes);

printMonthCalendar(año, mes

Pausa;

Caso 4:

Printf("Año de entrada (AAAA): ");

scanf("d-d ", año amp;

printYearCalendar(año, 2); >

Break;

Caso 5:

Salir(0);

Valor predeterminado:

Printf("Error de selección , vuelva a seleccionar\n ");;

};

}

Devuelve 0;

}