Les ruego un programa de calendario escrito en lenguaje C (preferiblemente con comentarios)
# incluir lttime.h gt
Usar espacio de nombres std
Calendario de clases
{
int día[2][12];
Público:
Calendario();
~calendar(){}
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::Calendar()
{
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;ilt2;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, se devuelve 1 y no se devuelve 0.
int calendario:: año bisiesto (int año) constante
{
if (! (año 400) || (año 100) amp; amp! (Año 4))
Devuelve 1;
De lo contrario, devuelve 0;
}
//El primer mes del año. day es una función del día de la semana, 0 es domingo, 1 es lunes, y así sucesivamente.
int calendario::semana(int año, int mes) constante
{
int i, w_day = 6;
if (gt=0 en 2000 d.C.)
{
for(I = 2000; i lt año; i)
w _ día = 1 salto (I );
}
Otros
{
for(I = 1999; i gt = año; i -)
w _ día = 6 saltos(I
}
for(I = 1; i lt mes; i )
w _ día = día[año bisiesto]][I-1];
Regresar al séptimo día;
}
//Resulta este año ingresando el año calendario.
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; gt Año;
Salto = bisiesto (año);
cout lt ltyearlt lt"año calendario" < ltendl
for(Mes = 1; mes lt = 12; mes)
{
Día = día [salto][mes-1];
semana = semana (año, mes);
p>
cout lt ltmeslt lt"mes"
cout lt lt" Día \ t1 \ T2 \ T3 \ T4 \ t5 \ T6 " < endl
for(I = 0; i lt=día; i)
{
Si (i==0)
{
for(j = 0; j lt semana; j)
cout lt lt”\t”;
}
Otros
{
cout lt lti;
si ((I semana)7)
cout lt lt”\t”;
Otros
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; /p> p>
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 " < endl
for(I = 0; i lt=día ; i )
{
if (i==0)
{
for(j = 0; j lt semana; j )
cout lt lt"\t";
}
Otro
{
cout lt lti ;
Si ((I semana)7)
cout lt lt”\t”;
Otro
cout lt ltendl
}
}
cout lt ltendl
}
//Al ingresar la fecha, genera el día y La diferencia este año es 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 (ampt);
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;
Sistema ("cls");
cout lt ltIngrese el año, mes y día
CIN gt ; gtyear2 gt gtmonth2 gt gt el día siguiente;
sumday 1 = hora local(amp;t)-gt;tm_yday
for(I = 1;iltmonth2i)
{
if(año bisiesto 2)
suma día 2 = día[1][I-1];
Otros
p>
suma día 2 = día[0][I-1];
}
suma día 2 = día 2-1;
if(año 2 gt;=año1)
{
para(I = año 1;iltel 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"< lt segundo año lt lt "Año"
Otro
cout lt "Ha pasado el número de días que ingresaste" < ltsumday 1-sumday 2 lt "Dios"
}
Otros
{
for(I = año 2;i ltaño 1;i)
día _ tem = 365 salto( I);
if(Día _ tem suma Día 1-sum Día 2 gt;=0)
cout lt lt"Ha pasado el número de días que ingresaste"< ltdía _ tem suma día 1-suma día 2 < >}
Semana=semana(año2,mes 2);
Semana =(Semana día 2-1) 7;
cout lt segundo año lt lt"Año"
Cambio (semana)
{
Caso 0: cout lt"Domingo"
Caso 1: cout lt; lt "lunes"
Caso 2: cout lt; lt "martes"
Caso 3: cout lt "miércoles" p>
Caso 4: cout lt;lt "Jueves"
Caso 5: cout lt;lt "Viernes"
Caso 6: cout lt;lt "Sábado"
}
cout lt ltSegundo añolt 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;iltsum;i )
{
Si (! ((semana i)7))
a[j]= I;
}
if(sumaDía2==a[-j]) p>
{
cout lt ltDía Internacional de la Lepra;
flag = 0;
}
//La última semana completa de marzo es lunes Jornada de Educación en Seguridad para alumnos de primaria y secundaria.
Semana = semana(año2, 3);
suma = día[salto(año 2)][2]; j = 0; i lt suma; i )
{
if((Semana i)7==6)
a[j ]= I- 5;
}
j-;
for(I = 0;ilt2;i)
a[j] = día [salto(año 2)][I];
if(sumDay2==a[j])
{
cout lt lt"Primario y medio Día de la educación sobre la seguridad de los estudiantes de la escuela";
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]; p>
for(i=0,j=0;iltsum;i)
{
if (!((ésima semana)7))
a[j ]= I;
}
para(I = 0; i lt4; i )
{ p>
a[1] = día[bisiesto(año 2)][I];
a[2] = día[bisiesto(año 2)][I];
}
if(sumDay2==a[1])
{
cout lt ltDía de la Madre;
bandera = 0;
}
if(sumDay2==a[2])
{
cout lt lt"Día Nacional de Ayuda a las Personas con Discapacidad”;
flag = 0;
}
//El tercer 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;iltsum;i)
{
Si (!((i-semana)7))
a[j]= I;
}
para (I = 0;ilt5;i)
a[2] = día[salto(año 2)][I];
if( sumaDía2==a[2])
{
cout lt ltDía del Padre;
flag = 0;
} p>
//El tercero El 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;iltsum;i)
{
if((Semana i)7 ==2)
a[j ]= I;
}
for(I = 0;ilt8;i)
a[2] = día[salto(año 2) )][I];
if(sumDay2==a[2])
{
cout lt lt"Día Internacional de la Paz"; p>
flag = 0;
}
//El tercer sábado de septiembre
para el Día de la Educación en Defensa Nacional
for(i=0,j=0;iltsum;i)
{
if((Semana i)7= = 6)
a[j ]= I;
}
for(I = 0;ilt8;i)
a[ 2] = día[salto(año 2)][I];
if(sumDía2==a[2])
{
cout lt lt "Día Nacional de la Educación para la Defensa";
flag = 0;
}
//El cuarto domingo de septiembre es el Día Internacional de los Sordos
p>for(i=0,j=0;iltsum;i)
{
if (!((ésima semana)7))
p>
a[j ]= I;
}
for(I = 0;ilt8;i)
a[3 ] = día[salto (año 2)][I];
if(sumDía2==a[3])
{
cout lt ltInternational Deaf day;
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 lt suma; i )
{
if((Semana i)7==1)
a[j ]= I ;
}
for(I = 0;ilt9;i)
a[0] = día[salto(año 2)][I] ;
if(sumDay2==a[0])
{
cout lt ltDía Mundial de la Vivienda;
flag = 0 ;
}
//2 de junio Estrella 10-Acción de Gracias canadiense
for(i=0, j=0; i lt sum; i )
{
si((Semana i)7==1)
a[j ]= I;
}
for(I = 0;ilt9;i)
a[1] = día[bisiesto (año 2)][I];
if( sumaDía2==a[1 ])
{
cout 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;iltsum;i)
{
if((Semana i)7==3)
a[j ]= I;
}
for(I = 0;ilt9;i )
a[1] = día[bisiesto (año 2)][I];
if(sumDía2==a[ 1])
{
cout lt lt"Día Internacional para la Reducción de los Desastres Naturales";
flag=0;
} p>
//65438 World Eye Día de Cuidado el segundo jueves de octubre
for(i=0, j = 0; suma de i lt; i)
{
if(( Semana i)7==4)
a[j ]= I;
}
for(I = 0;ilt9;i)
a[1] = día[bisiesto (año 2)][I];
if(sumDía2==a[1]) p>
{
cout lt lt"Día Mundial del Cuidado de los Ojos";
flag = 0;
}
/ /165438 El Día de Acción de Gracias en Estados Unidos es el último jueves de Octubre
Semana = semana (año2, 11);
suma = día[salto(año 2)][10];
for(i=0 ,j=0;iltsum;i)
{
if((Semana i)7==4)
p>
a[j ]= I;
}
j-;
for(I = 0;ilt10;i) p>
a[j] = día[salto(año 2)][I];
if(sumDía2==a[j])
{
cout lt lt"Americano Acción de Gracias";
flag = 0;
}
if((suma da
y 2 gt; 59) amp; amp (año bisiesto (segundo año)))
suma día 2-;
cambiar (sumDay2)
{
Caso 0: cout lt; lt "Día de Año Nuevo"
Caso 32: cout lt; "Día Mundial de los Humedales"
Caso 44: cout lt; lt< Día de San Valentín"
Caso 61: cout lt; lt "Día Nacional del Amor al Oído"
Caso 63: cout lt; lt "Día del Servicio Voluntario Juvenil" endl descanso; p>
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 break;
Caso 70: cout lt ;lt"Día del Árbol de China" Caso 72: cout lt;lt"Día Internacional de la Policía del Día Blanco" Caso 73: cout lt;lt"Consumidor Mundial Día de la Equidad" Caso 79: cout lt; lt "Día Mundial de los Bosques, Día Mundial del Sueño" endl break; Caso 80: cout lt; lt "Día Mundial del Agua" endl break ; Caso 81: cout lt; “Día Meteorológico Mundial” endl break; Caso 82: cout lt; “Día Mundial de la Tuberculosis” Caso 90: cout lt; lt "Día de los Inocentes" Caso 94: cout lt "Festival de Qingming" Caso 96: cout lt "Día Mundial de la Salud" p > Caso 111: cout lt;lt "Día de la Tierra" Caso 115: cout lt;lt "Día Mundial de la Propiedad Intelectual" endl break; Caso 120: cout lt ; lt "Día Internacional del Trabajo" Caso 122: cout lt "Día Mundial del Asma" Caso 123: cout 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 "Día Internacional de la Enfermera" endl pausa; Caso 134: cout lt ; < Caso 142: cout lt;lt "Día Internacional de la Leche" Caso 150: cout lt;lt "Día Mundial Sin Tabaco" endl pausa; Caso 151 : cout lt; lt "Día Internacional del Niño" Caso 155: cout lt "Día Mundial del Medio Ambiente" Caso 156: cout lt "Cuidado Nacional de los Ojos" Día" Caso 167: cout lt; lt "Día Mundial de Lucha contra la Desertificación y la Sequía" Caso 173: cout lt; lt "Día Olímpico Internacional" Caso 175: cout lt; lt "Día Nacional Antidrogas" endl breaks; Caso 176: cout lt; "Día Internacional Antidrogas" endl breaks; cout lt; lt "China *** Day" Caso 191: cout lt; lt"Día Mundial de la Población" Caso 212: cout lt; lt"El Día de la Fundación del Ejército Popular de Liberación de China" 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 break; 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 “Día Mundial del Turismo” Caso 273: cout lt;Dí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;lt "Día Mundial de los Animales" Caso 277: cout lt;lt" "Día Mundial de los Docentes" < ltendl break; Caso 280: cout lt; lt "Día Nacional de la Hipertensión" endl break; Caso 281: cout lt; lt "Día Mundial del Correo" Caso 282: cout lt;lt "Día Mundial de la Salud Mental" Caso 286: cout lt;lt "Día Mundial de la Normalización" Caso 287: cout lt; “Día Internacional de los Ciegos, Día Mundial de la Mujer Rural” Caso 288: cout lt “Día Mundial de la Alimentación” Caso 289: cout lt; lt "Día Internacional de la Erradicación de la Pobreza" Caso 296: cout lt; Día de las Naciones Unidas, Día Mundial de las Noticias sobre el Desarrollo Caso 300: cout lt;lt"Hombres de China" Día de la Salud" Caso 301: cout lt;lt "Día Internacional de la Diversidad Biológica" Caso 303: cout lt;lt "Halloween" Caso 311: cout lt;lt" "Día de los Periodistas de China" endl breaks; Caso 312: cout lt; lt "Día de la Concientización sobre la Prevención de Incendios" endl breaks; Caso 317 : cout lt;lt "Día Mundial de la Diabetes" p> Caso 320: cout lt;lt "Cumpleaños Universitario Internacional" Caso 328: cout lt;lt "Internacional Día 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;lt “Día Mundial del Fútbol” Caso 358: cout lt;lt"Navidad" Caso 362: cout lt; lt "Día Internacional de la Biodiversidad" Valor predeterminado: if (bandera) cout lt "Sin feriado" < ltendlse cout lt ltendl break } } main() { Obj de calendario int i, bandera = 1; mientras(bandera) { Sistema("cls") ; cout lt lt"Visualización del calendario\nPresione los siguientes números" < ltendl cout lt lt"1, ingrese el año, la salida es el calendario del año que se muestra en la pantalla "< ltendl cout lt lt2. Ingrese el año y el mes, y genere el calendario de este mes cout lt lt"3. Ingrese el año, el mes y el día, y genere el. número de días a partir de hoy y si es un feriado gregoriano "< ltendl cout lt lt4, exit scanf("d", ampI); { Caso 1: obj . show año(); sistema("pausa"); Caso 2: obj . mostrar mes(); sistema( "pausa"); Caso 3: obj.showday(); sistema("pausa"); flag = 0; break; p> Valor predeterminado: cout lt lt "Error de entrada, vuelva a ingresar" < ltendl system ("pausa"); >} } Devuelve 0; }