Red de conocimiento informático - Programación de la red - Les ruego un programa de calendario escrito en lenguaje C (preferiblemente con comentarios)

Les ruego un programa de calendario escrito en lenguaje C (preferiblemente con comentarios)

# include & ltiostream & gt

# include & lttime.h & gt

Usar espacio de nombres std

Calendario de clases

{< / p>

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::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

for(I = 0;i<=天;i++)

{

si (i==0)

{

for(j = 0; j & ltweek; j++)

cout & lt& lt”\t”;

}

Otro

{

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;

}

//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

for(i=0,j=0;i<sum;i++)

{

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++)

{

if((Semana+i)%7==1)

a[j++]= I

}

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])

{

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;

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"

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; ”

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

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;

}