Red de conocimiento de abogados - Derecho de sociedades - Diseño de programa de visualización de calendario en lenguaje C

Diseño de programa de visualización de calendario en lenguaje C

#include lt;stdio.hgt;

#include lt;stdlib.hgt;

#include lt;math.hgt;

char* mes[]={"Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", " Nev", "Dic"};

char* semana[]={"Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"} ;

int j_leapyear(int año) //Definir función para detectar si el año de entrada es bisiesto

{

if((/*year400= =0*/ año4==0amp;amp;año100!=0)||(año400==0))

return (1);

// else if(año4 ==0amp; año100!=0)

// return (1);

else return

}

int mes_día( int año, int mes) //Detecta cuántos días hay en el año y el mes

{

int mon_day[]={31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

if(j_leapyear(year)&month==2)

return 29;

else return (mon_day[mes-1]);

}

int j_week(int año, int mes, int día) //Detecta qué día de la semana en que es el día

{

int d=0, i; //d representa el número acumulado de días del año

int

/* int mes_día[]={31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

if (j_leapyear( año)==1)

día_mes[1]=29

for(i=0;ilt;mes;i)

d =día_mes[ i];

d=d día;*/

for(i=1;ilt;mes;i)

d =mes_día(año,i );

d =día;

w=(año-1) (int)(año-1)/4-(int)(año-1)/100 (int )(año-1)/400 d ;//Fórmula en línea

return ((int)w7);

}

int allye

ar(int año) // Genera el calendario del año completo

{

int i, j, b

printf("\nd calendar", año) ;

for(i=1;ilt;=12;i)

{

printf("\n\n\ts\n" , mes [i-1]);

// printf(" 7 1 2 3 4 5 6 \n"

printf(" S M T W T F S \n"); /p >

b=j_semana(año,i,1);

for(j=1;jlt;=mes_día(año,i) b;j)

{

if(jlt;=b)

printf(" ");

else if(j-blt; 10)

printf ("2d ",j-b);

else printf("2d ",j-b);

//else printf("2d ",j-b);

if(j7==0)

putchar('\n');

}

putchar('\n');

}

return 0;

}

void Month_print(int año, int mes) //Ingrese un año y un mes, genere el calendario de este mes

{

int i, c, d

c=month_day(año, mes

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

printf(" S M T W T F S \n");

d=j_week(año, mes, 1);

for(i=1;ilt;=c d;i)

{

if(ilt;=d)

printf( " ");

else printf("2d ",i-d);

if(i7==0)

putchar('\ n');

}

putchar('\n');

}

int jisuan_day(int año, int mes , int day, int x, int y, int z) //Ingrese el año, mes y día, genere el número de días del mes y y el día z del año x, el día de la semana y si es un feriado del calendario gregoriano

{

int i, a, b, c=0, d=0, días=0, m=0, n=0, t

a=añogt;=x?año:x;

p>

b=añolt;x?año:x;

if(agt;b )

p>

{

for(i=b 1;ilt;a;i)

c =j_leapyear(i);

}

else c=0;

if(año!=x)

d=a-b-1;

else d=0;

m=365*d c;

if(añolt;x)

{

for(i=mes;ilt;=12 ;i )

n =día_mes(año,i);

días=m n día-z;

}

más si (añogt; x)

{

for(i=y;ilt;=12;i)

n =mes_día(x,i);

for(i=1;ilt;mes;i)

n =mes_día(año,i);

días=m n día-z;

p>

}

else

{

for(i=mesgt;=y?y:mes;ilt;( mesgt;=y? mes: y); i )

n =month_day(x, i);

días=abs(day-z) n; del mes y al día z Días

}

printf("Este día faltan d días para d, mes, d, año d\n", x, y, z, días

t=j_week(año, mes, día)

if(t==0) //Salida del día de la semana

printf("Este día es domingo");

else if(t==1)

printf("Este día es lunes");

else if(t==2)

printf("Este día es martes");

else if(t==3)

printf("Esto el día es miércoles");

else if (t==4)

printf("Esto es jueves");

else if(t== 5)

printf("Esto es viernes ");

else if(t==6)

printf("Esto es sábado");

putchar('\n');

if(month==1amp;amp;day==1)

printf("Este día es Año Nuevo Día");

else if(mes= =2amp;amp;día==14)

printf("Este día es el día de San Valentín");

else if(mes==3amp;amp;día==8)

printf("Este día es el Día de la Mujer"

else if(mes==3amp;día); ==12)

printf(

"Este día es el Día del Árbol");

else if(month==4amp;amp;day==1)

printf("Este día es el Día de los Inocentes");

else if(mes==4amp;amp;día==4)

printf("Este día es el Festival de Qingming");

else if( mes ==5amp;amp;día==1)

printf("Este día es el Día del Trabajo");

else if(mes==6amp;amp;día== 1 )

printf("Este día es el Día del Niño");

else if(mes==8amp;día==1)

printf( " Este día es el Día del Ejército");

else if(month==9amp;amp;day==10)

printf("Este día es el Día del Maestro");

else if(mes==10amp;amp;día==1)

printf("Este día es el Día Nacional");

else if( mes ==12amp;amp;day==25)

printf("Este día es Navidad");

else printf("Este día no es un día festivo especial");

putchar('\n');

días de retorno;

}

void fish_or_net(int año, int mes, int día ) //Determinar si pescar o secar la red

{

int q;

int i, a, b, c=0, d=0 , días=0, m=0, n=0;

a=añogt;=1990?año:1990;

b=añolt;1990?año:1990;

if(agt; b)

{

for(i=b 1; ilt; a; i)

c =j_año bisiesto( i );

}

else c=0;

if(año!=1990)

d=a-b-1;

else d=0;

m=365*d c

if(año; 1990)

{

for(i=mes;ilt;=12;i)

n =mes_día(año,i);

días=m n 1 día;

}

else if(añogt; 1990)

{

for(i=1;ilt;=12;i)

n =mes_día(1990,i);

for(i=1;ilt;mes;i)

n =mes_día(año,i);

días=m n día-1

}

else

{

for(i=mesgt;=1 1:mes;ilt;(mesgt;

=1?month:1); i )

n =month_day(1990, i);

days=abs(day-1) n; este día ¿Cuántos días tiene el 1 de enero de 1990?

}

q=días5 1;

if(q==1||q== 2|| q==3) //Determinar si pescar o secar la red

printf("El pescador está pescando hoy");

else printf("El pescador está secando la red hoy");

putchar('\n');

}

/*int main() //Esta parte del contenido se utiliza para comprobar

{

int j_leapyear(int año

int mes_día(int año, int mes

); int j_week(int año, int mes, int día);

int allyear(int año

void mes_print(int año, int mes); > int jisuan_day(int año, int mes, int día, int x, int y, int z

void fish_or_net (int año, int mes, int día

); int x, y, z, año, mes, día

// allyear(2015

//month_print(2016, 12); printf("Ingrese la fecha de hoy (ingrese por año, mes y día, como 2016, 1, 14 significa 14 de enero de 2016): ");

scanf("d, d, d", amp; x, amp; y , amp; z);

printf("\nIngrese una fecha en el mismo formato que el anterior: "); d, d", amp; año, amp; mes, amp; día);

jisuan_day(año, mes, día, x, y, z);

// fish_or_net (x, y, z);

return 0;

} // Esta parte se utiliza para detectar si la función anterior tiene errores

*/

int main ()

{

int j_leapyear(int año);

int mes_día(int año, int mes); /p>

int j_week (int año, int mes, int día);

int allyear(int año);

mes_print(int año, int mes);

int jisuan_day(int año, int mes, int día, int x, int y, int z

void fish_or_net(int año); , int mes, int día); //Declaración de función

int opción, año, mes, día, x, y, z

char ny

system("color 1f");

while (1)

{

printf("\n\n\t Bienvenido a... .Programa escrito\n\n");

printf(" Seleccione el servicio que necesita, ingrese el número y presione Enter para finalizar\n");

printf(" 1. Ingrese un año y genere el calendario de ese año\n");

printf(" 2. Ingrese el año y el mes y genere el calendario de este mes.\n");

printf( " 3. Ingrese el año, mes y día, y muestre cuánto dura hoy, el día de la semana y si es un feriado del calendario gregoriano.\n"); printf(" 4. Alguien comenzó el 1 de enero de 1990 Para pescar, "tres días para pescar, dos días para secar las redes", ingrese una fecha posterior a 1990 y indique si pescó o secó las redes ese día.

\n");

printf(" 5.Salir\n");

scanf("d", amp; opción);

switch( opción) //cambiar estructura de rama

{

caso 1:

while(1) //ciclo while, el siguiente 1 es una constante, lo que significa hasta que la pausa finalice el ciclo

{

printf("Ingrese un año: "

scanf("d", amp; año <); /p> p>

allyear(año);

printf("¿Quieres continuar consultando el calendario? (y significa continuar, n significa finalizar)"); > scanf("c ", amp; ny);

if (ny=='n')

break

}

break;

caso 2:

while (1)

{

printf("Ingrese año y mes: ") ;

scanf("d, d", amp; año, amp; mes);

mes_print (año, mes

printf ("Hacer); ¿Quieres continuar consultando el calendario? (y significa continuar, n significa finalizar): ");

scanf("c", amp; ny);

if(ny= ='n')

descanso

}

descanso

caso 3:

mientras ( 1)

{

printf("Ingrese año, mes y día: ");

scanf("d, d, d", amp; año , amp; mes, amp; día);

printf("Ingrese la fecha de hoy: "); ; y, amp; z);

jisuan_day(año, mes, día, x, y, z);

printf("¿Quieres continuar consultando? (y significa continuar, n significa finalizar): ");

scanf("c", amp; ny);

if(ny=='n')

romper;

}

romper;

caso 4:

mientras (1)

{

printf("Ingrese una fecha posterior al 1 de enero de 1990: ");

scanf("d, d, d", amp; año, amp; mes,amp ;día);

fish_or_net(año, mes, día);

printf("¿Quiere continuar preguntando si el pescador está pescando o secando la red? (y significa continuar, n significa end): ");

scanf("c",amp;ny);

if(ny=='n')

break;

}

descanso

caso 5:

mientras (1)

{

printf ("¿Estás seguro? y significa sí, n significa no");

scanf("c", amp; ny

if(ny=='); y')

exit(1); //Indica salir del programa

else if(ny=='n')

break;

}

break;

default: printf ("Lo sentimos, este servicio no está disponible en este momento"); p>

}

}

devuelve 0;

}