Les ruego un programa de calendario escrito en lenguaje C (preferiblemente con comentarios)
# include & lttime.h & gt
Usar espacio de nombres std
Calendario de clases
{< / p>
int día[2][12];
Público:
Calendario();
~calendar(){} p >
Año bisiesto constante;
int semana (int año, int mes) constante;
void show año()const;
void show mes ()const;
void showDay()const;
};
Calendario::Calendario()
{
int i, j;
int días[2][12]= { { 31, 28, 31, 30, 31, 30, 31, 30, 31, 30, 31,
{31,29,31,30,31,30,31,31,30,31,30,31}};
for(I = 0;I<2; i++)
for(j = 0;j & lt12;j++)
día[I][j]= días[I][j];
}
//Determine si el año es bisiesto. Si es bisiesto, devuelve 1 y no devuelve 0.
int calendario::año bisiesto (int año) constante
{
if (! (año % 400) || (año % 100) & amp ; & amp! (%4to año))
Devuelve 1;
En caso contrario, devuelve 0;
}
//Un año. El primer día del mes es función del día de la semana, donde 0 es domingo, 1 es lunes, etc.
int calendario::semana(int año, int mes) constante
{
int i, w_day = 6;
if (i=2000AD>=0)
{
for(i=2000;i<year;i++)
w _ día+= 1+salto(I);
}
Otro
{
para(I = 1999;i>=año; i-)
w _ día+= 6 saltos(I);
}
for(I = 1;i<month;i++)
w _ día+= día[ año bisiesto]][I-1];
Volver al día %7;
}
/ /Obtenga el calendario de este año ingresando el año.
void calendar::showYear() constante
{
int i, j
int año, mes, día, semana; ;
int Leap
System("cls");
cout & lt& lt"Ingrese el año"
CIN & gt ; & gtAño;
Salto = salto (año);
cout & lt& ltAño& lt& lt"Año calendario" < & ltendl
for( Mes = 1; mes<=12;mes++)
{
Día = día [salto][mes-1];
semana= Semana (año, mes) ;
cout & lt& ltmes& lt& lt"mes"
cout & lt& lt" Día \ t1 \ T2 \ T3 \ T4 \ t5 \ T6 " < & lt;endl p>
for(I = 0;i<=天;i++)
{
si (i==0)
{
for(j = 0; j & ltweek; j++)
cout & lt& lt”\t”;
}
Otro p>
{
cout & lt& ltI;
Si ((I+semana)%7)
cout & lt& lt"\t" ;
Otro
cout & lt& ltendl
}
}
cout & lt& ltendl
}
}
// Genera el calendario de este mes a través del año y mes de entrada.
void calendar::showMonth()const
{
int i, j
int año, mes, día, semana; ;
System("cls");
cout & lt& lt"Ingrese el año y el mes"
CIN & gt;& gtAño& gt& gt Mes ;
Día = día [salto (año)] [mes-1];
semana = semana (año, mes);
cout & lt& ltAño& lt& lt"Año"
cout & lt& lt" Día \ t1 \ T2 \ T3 \ T4 \ t5 \ T6 " < & lt; =天;i++)
{
if (i==0)
{
for(j = 0;j<week; j++)
cout & lt<"\t";
}
Otro
{
cout & lt& ltI;
Si ((I+semana)%7)
cout & lt& lt"\t";
Otros
cout & lt& ltendl
}
}
cout & lt& ltendl
}
//Por Al ingresar la fecha, se genera la diferencia entre este día y este año, qué día es hoy y si es un feriado del calendario gregoriano.
void calendar::showDay()const
{
int i, j=0, flag=1, a[6], suma, Day_tem= 0, Semana
int año1, mes1, día1, año2, mes2, día2, sumaDía1=0, suma día 2 = 0;
hora _ t t
Hora(&t);
día1=hora local. t)-gt;tm_mday
mes1=hora local. t)-gt;tm_mon
año1=hora local.
t)-gt; TM _ año+1900;
System ("cls");
cout & lt& ltIngrese el año, mes y día
CIN>& gtyear2>& gtmonth2>& gtEl día siguiente;
sumday 1 = hora local(&t)-gt;tm_yday
for(I = 1;i<month2i++)
{
if(año bisiesto 2)
suma día 2+= día[1][I-1];
Otros
suma día 2+= día[0][I-1];
}
suma día 2+= día 2-1;
if(año 2>=año1)
{
for(I = año 1;i<el segundo año; i++)
día _ tem+= 365+salto (I);
if(Día _ tem+suma Día 2-suma Día 1 & gt;=0)
cout & lt& lt"Distancia"< & ltSegundo año& lt& lt "Año"
Otro
cout & lt& lt"Ha pasado el número de días que ingresaste" < & ltsumday 1-sumday 2 & lt;& lt"Dios"
}
Otro
{
para(I = año 2;i<año 1;i++)
día _ tem+ = 365+salto(I);
if(Día _ tem+suma Día 1-suma Día 2 & gt ;=0)
cout & lt& lt"El número de días ingresaste ha pasado"< & ltdía _ tem+suma día 1-suma día 2 & lt;& lt"Dios"
Otro
cout & lt& lt"distancia"< & ltSegundo año& lt& lt"Año"
}
Semana=semana(año2, mes 2);
Semana = (Semana+día 2-1)% 7;
cout & lt& ltSegundo año& lt& lt"Año"
Cambiar (semana)
{
Caso 0: cout < ;<"Domingo"
Caso 1:cout <<"Día de la semana" 1"
Caso 2: cout & lt;& lt"Martes"
Caso 3: cout & lt& lt"Miércoles"
Caso 4: cout & lt;<"Jueves"
Caso 5:cout <<"Viernes"
Caso 6:cout<<"Sábado"
}
cout & lt& ltSegundo año& lt& lt"año"
//65438+Día Internacional de la Lepra el último domingo de octubre
semana = semana(año 2, 1
suma = día[salto(año 2)][0]; >for(i=0, j = 0; i& lt suma; i++)
{
if (! ((+i semana)%7))
a[j++]= I;
}
if(sumDay2==a[-j] )
{
cout<& ltDía Internacional de la Lepra;
bandera
= 0;
}
//El lunes de la última semana completa de marzo es el Día de la Educación sobre Seguridad para los estudiantes de primaria y secundaria.
Semana = semana(año2, 3);
suma = día[salto(año 2)][2]; j = 0;i<sum;i++)
{
if((Semana+i)%7==6)
a[j++] = I- 5;
}
j-;
for(I = 0;i<2;i++)
a [j]+= día[salto(año 2)][I];
if(sumDía2==a[j])
{
cout & lt& lt"Seguridad Día de la Educación para Alumnos de Primaria y Secundaria";
flag = 0;
}
//El segundo domingo de mayo es el Día de la Madre
//El tercer domingo de mayo es el Día Nacional de la Discapacidad
Semana = semana (año2, 5);
suma = día[salto(año 2)][4] ;
for(i=0,j=0;i<sum;i++)
{
if (!(( Semana +i)%7))
a[j++]= I;
}
for(I = 0;I<4;i++)
{
a[1]+= día[salto (año 2)][I];
a[2]+= día[salto(año 2)][I];
}
if(sumDay2==a[1])
{
cout & lt& ltDía de la Madre;
flag = 0;
}
if(sumDay2==a[2])
{
cout & lt& lt"Nacional Día de la Discapacidad";
flag = 0;
}
//El tercer día del domingo de junio es el Día del Padre
Semana = semana (año2, 6);
suma = día[salto(año 2)][5]
for( i=0,j=0;i<sum;i++)<; /p>
{
si (!(((+iweek)%7))
a[j++]= I;
}
for(I = 0;I<5;i++)
a[2]+= día[ bisiesto(año 2)][I];
if( sumDay2==a[2])
{
cout & lt& ltDía del Padre;
flag = 0;
} p>
//El tercer martes de septiembre es el Día Internacional de la Paz
Semana = semana (año2, 9);
suma = día[salto(año 2) ][8];
for(i=0,j=0;i<sum;i++)
{
if((Semana+i)%7 ==2)
a[j++]= I;
}
for(I = 0;i<8;i++)
a[2]+= día[salto(año 2)][I];
if(sumDay2==a[2])
{
cout & lt& lt"Día Internacional de la Paz";
flag = 0;
}
//El tercer sábado de septiembre es el Día de la Educación en Defensa Nacional p>
for(i=0,j=0;i<sum;i++) p>
{
if((Semana+i)%7==6)
a[j++]= I;
}
for(I = 0;I<8;i++)
a[2]+= día[salto (año 2)][I];
if(sumDay2==a[2])
{
cout & lt& lt"Día Nacional de la Educación en Defensa";
flag = 0;
}
//El cuarto domingo de septiembre es el Día Internacional de los Sordos
por( i =0,j=0;i<sum;i++)
{
if (!(((+iweek)%7))
a[j++] = I;
}
for(I = 0; I<8;i++)
a[3]+= día[ Bisiesto (año 2)][ I];
if(sumDay2==a[3])
{
cout & lt& ltDía Internacional de los Sordos ;
flag = 0;
}
//65438+Día Mundial de la Vivienda el primer lunes de octubre.
semana = semana(año 2, 10);
suma = día[salto(año 2)][9]; , j = 0;i<sum;i++)
{
if((Semana+i)%7==1)
a[j++ ]= I ;
}
for(I = 0;i<9;i++)
a[0]+= día[salto(año 2 )][I] ;
if(sumDay2==a[0])
{
cout & lt& ltDía Mundial de la Vivienda;
flag = 0 ;
}
//La segunda estrella del 10 de junio: Acción de Gracias canadiense
for(i=0, j = 0 ;i<sum;i++) p>
{
if((Semana+i)%7==1)
a[j++]= I
} p>
for(I = 0;i<9;i++)
a[1]+= día[bisiesto (año 2)][I ];
if(sumaDía2 ==a[1])
{
cout & lt& lt"Acción de Gracias canadiense";
flag = 0;
//65438+Día Internacional para la Reducción de los Desastres Naturales el segundo miércoles de octubre
for(i=0, j = 0;i<sum;i++)
{
if((Semana+i)%7==3)
a[j++]= I;
}
for(I = 0;I<9;i++)
a[1]+= día[bisiesto (año 2)] [I];
if(sumDay2==a[ 1])
{
cout & lt& lt"Día Internacional para la Reducción de los Desastres Naturales";
p>
flag = 0;
}
//65438+Día Mundial del Cuidado de los Ojos el segundo jueves de octubre
for(i=0 , j = 0;i<sum;i++)
{
if((Semana+i)%7==4)
a[j++ ]= I
}
for(I = 0;i<9;i++)
a[1]+= día[bisiesto(año 2 )][I];
if(sumDay2= =a[1])
{
cout & lt& lt"Día Mundial del Cuidado de los Ojos";
flag = 0;
}
//165438+El Día de Acción de Gracias estadounidense es el último jueves de octubre
Semana = semana (año2, 11);
suma = día[salto( año 2)][10];
for(i=0,j=0;i<sum;i++)
{
if((Semana+i )%7==4)
a[j++]= I;
}
j-;
for(I = 0;i<10;i++)
a[j]+= día[bisiesto(año 2)] [I];
if(sumDay2==a[j]) p>
{
cout & lt& lt"Acción de Gracias estadounidense";
flag = 0;
}
if( (suma día 2>59)&&(año bisiesto (segundo año)))
suma día 2-;
Cambiar (sumDay2)
>{
Caso 0:cout <<"Día de Año Nuevo"
Caso 32:cout<<"Día Mundial de los Humedales"
Caso 44:cout <<"Día de San Valentín"
Caso 61:cout <<"Día Nacional del Amor al Oído"
Caso 63:cout << "Día del Servicio Voluntario Juvenil" endl break;
Caso 66: cout & lt; & lt “Día Internacional de la Mujer”
Caso 67: cout & lt & lt “Día de la Protección del Río Madre” endl breaks;
Caso 70: cout & lt; & lt "Día del Árbol Chino" < & ltendl breaks
Caso 72: cout & lt & lt "Día Blanco" Día Internacional de la Policía"
Caso 73:cout <<"Día Mundial de los Derechos del Consumidor"
Caso 79:cout<<"Día Mundial de los Bosques, Día Mundial del Sueño" endl breaks;
Caso 80:cout <<"Día Mundial del Agua" endl breaks;
Caso 81:cout <<"Día Meteorológico Mundial" endlbreak;
Caso 82:cout <<" Día Mundial de la Tuberculosis"
Caso 90:cout<<"Día de los Inocentes"
Caso 94:cout <<"Festival de Qingming"
Caso96:cout< ;<"Día Mundial de la Salud"
Caso 111:cout <& lt"Día de la Tierra"
Caso 115:cout <<"Día Mundial de la Propiedad Intelectual"endlbreak; p>
Caso 120:cout <<"Día Internacional del Trabajo"
Caso 122:cout & lt;& lt"Día Mundial del Asma"
Caso 123:cout & lt;& lt"Día de la Juventud de China"
Caso 127: cout & lt; & lt "Día Mundial de la Cruz Roja"
Caso 131: cout & lt & lt "Enfermeras Internacionales" Day" endl break;
Caso 134: cout <<"Día Internacional de las Familias"
Caso 136:cout <<"Día Mundial de las Telecomunicaciones"<<endlbreak;
Caso 139:cout < & lt"Día Nacional de la Nutrición Estudiantil"
Caso 142:cout <& lt"Día Internacional de la Leche"
Caso 150:cout < ;<"Día Mundial Sin Tabaco "endlbreak;
Caso 151:cout <<"Día Internacional del Niño"
Caso 155:cout <<"Día Mundial del Medio Ambiente" p>
Caso 156: cout & lt; & lt “Día Nacional del Cuidado de los Ojos”
Caso 167: cout & lt & lt “Día Mundial de Lucha contra la Desertificación y la Sequía”
Caso 173:cout<<"Día Olímpico Internacional"
Caso 175:cout<<"Día Nacional de la Tierra" fin de descanso;
Caso 176:cout< ; Día Antidrogas" endl break;
Caso 181: cout & lt; & lt "Día Internacional de la Construcción, Día del Natalicio de la * * * Fiesta de la Producción China"
Caso 187 : cout <<"Día de Conmemoración de la Guerra de Resistencia del Pueblo Chino contra la Agresión Japonesa"
Caso 191:cout <<"Día Mundial de la Población"
Caso212:cout < & lt"El día de la fundación del Ejército Popular de Liberación de China"< <endlBreak;
>Caso 223: cout & lt; & lt "Día Internacional de la Juventud"
Caso 250: cout & lt; & lt "Día Internacional de la Alfabetización"
Caso 252: cout & lt; & lt"Día del Maestro Chino"< & ltendl Pausa;
Caso 258:cout & lt;& ltDía de la Salud Cerebral de China, Día Internacional de la Protección de la Capa de Ozono
Caso 262:cout & lt ;& lt"Día Nacional de los Dientes de Amor"
Caso 263:cout & lt;& lt"Día Mundial de la Tregua"
Caso 269:cout & lt;& lt"Turismo Mundial Día "
Caso 273: cout & lt; & ltDía Nacional de la República Popular China, Día Internacional de la Música y Día Internacional de las Personas Mayores
Caso 276: cout & lt; ” p>
Caso 277: cout & lt; & lt “Día Mundial de los Docentes” < & ltendl break
Caso 280: cout & lt; : cout & lt; & lt "Día Mundial del Postal"
Caso 282: cout < & lt "Día Mundial de la Salud Mental"
Caso 286:cout <<"Mundial Día de la Normalización"
Caso 287:cout<<"Día Internacional de los Ciegos, Día Mundial de la Mujer Rural"
Caso 288:cout <<"Día Mundial de la Alimentación"
Caso 289:cout <<"Día Internacional para la Erradicación de la Pobreza"
Caso 296:cout <& ltDía de las Naciones Unidas, Día Mundial de las Noticias sobre el Desarrollo
Caso 300:cout <<"Día de la Salud del Hombre de China"<<endlBreak;
Caso 301:cout <& lt"Día Internacional de la Biodiversidad"
Caso 303:cout & lt;& lt"Halloween"
Caso 311:cout <& lt"Día de los Periodistas de China" endl break ;
Caso 312:cout <<"Día de concientización sobre la prevención de incendios" endl break ;
Caso 317:cout <<"Día Mundial de la Diabetes"
Caso 320:cout <<"Cumpleaños Universitario Internacional"
Caso 328:cout< ;< “Día Internacional de la Eliminación de la Violencia contra la Mujer”
Caso 334: cout & lt; & lt “Día Mundial del SIDA”
Caso 336: cout & lt & lt; "Día Mundial de las Personas con Discapacidad"
Caso 337: cout & lt; & lt"Día Nacional de la Publicidad Jurídica"
Caso 342:cout <& lt"Día Mundial del Fútbol"
Caso 358:cout <<"Navidad"
Caso 362:cout <<"Día Internacional de la Diversidad Biológica"
Valor por defecto: if(flag )cout<<"Sin vacaciones"<<endlse cout & lt& ltendl break
}
}
main()
{
Obj calendario p>
int i, flag = 1;
mientras(bandera)
{
sistema ("cls");
cout & lt& lt"Visualización del calendario\nPor favor presione los siguientes números" < & ltendl
cout & lt& lt"1. Ingrese el año y el La salida es el calendario del año que se muestra en la pantalla"< & ltendl
cout<&
lt2. Ingrese el año y el mes, y genere el calendario de este mes
cout & lt& lt"3. Ingrese el año, mes y día, y genere el número de días a partir de hoy y si es feriado. en el calendario gregoriano"< & ltendl
cout & lt& lt4, exit
scanf("%d ", & ampI);
Interruptor (1)
{
Caso 1: obj . mostrar año(); system("pausa");
Caso 2: obj . ; sistema("pausa");
Caso 3: obj. showday(); sistema("pausa");
Caso 4: bandera = 0; ;
Valor predeterminado: cout & lt& lt"Error de entrada, vuelva a ingresar" < & ltendl system ("pausa"); >}
Devuelve 0;
}