Colección de citas famosas - Slogan de motivación - 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

#include

#include

carácter * mes[]={"ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nev", "dic"};

char* semana[]={"domingo","lunes","martes","miércoles","jueves","viernes","sábado"}; p>

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

{

if((/*year%400 ==0*/año %4==0&&año%100!=0)||(año%400==0))

return (1);

// else if(año%4= =0&&año%100!=0)

// devuelve (1);

más devuelve 0;

}

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

{

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

if(j_leapyear(año)&&month==2)

devuelve 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 el que es

{

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

int w ;

/* int día_mes[] ={31,28,31,30,31,30,31,31,30,31,30,31};

if( j_año bisiesto(año)==1)

día_mes[1]=29;

for(i=0;i

d+= día_mes[i];

d= d+día;*/

for(i=1;i

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

d+= día;

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

return ((int)w%7);

}

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

{

int i,j,b;

p

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

for(i=1;i<=12;i++)

{

printf( "\n\n\t%s\n",mes[i-1]);

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

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

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

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

{

if(j<=b)

printf(" ");

si no (j-b<10)

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

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

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

if(j%7==0)

putchar('\n');

}

putchar('\n');

}

devuelve 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 =día_mes (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_semana(año,mes,1);

for(i=1;i<=c+d;i++)

{

if(i<=d)

printf(" ");

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

if(i%7==0)

putchar('\n');

}

putchar('\n') ;

}

int jisuan_day(int año,int mes,int día,int x,int y,int z) //Ingrese el año, mes y día, y genere el fecha de x año, y mes, z día Cuántos días, 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ño>=x?año:x;

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

if( a>b)

{

for(i=b+1;i

c+=j_leapyear(i);

}

else c=0;

if(año!=x)

d=a-b-1;

más d=0;

m=

365*d+c;

if(año

{

for(i=mes;i<=12;i++)

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

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

}

else if(año> x)

{

for(i=y;i<=12;i++)

n+=día_mes(x,i);

for(i=1;i

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

días=m+n+día-z; p>

}

else

{

for(i=mes>=y?y:mes;i<(mes>= y? mes:y);i++)

n+=month_day(x,i);

days=abs(day-z)+n; //La salida es del mes y al día z ¿Cuántos días

}

printf("Este día está a %d días de %d año %d mes %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(" Este 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==1&&day==1)

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

else if(mes ==2&&day==14)

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

else if(mes== 3&&day==8)

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

else if(mes==3&&day==12)

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

else if(month==4&&day==1)

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

else if(mes==4&&día==4 )

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

else if(mes==5&&día==1)

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

else if(month==6&

;&day==1)

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

else if(mes==8&&day==1)

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

else if(month==9&&day==10)

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

else if(mes==10&&día==1)

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

else if(mes==12&&día==25 )

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

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

putchar('\n ');

return days;

}

void fish_or_net(int año,int mes,int día) //Determina 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ño>=1990?año:1990;

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

if(a>b)

{

for(i=b+1;i

c+=j_leapyear(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 ; i<=12;i++)

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

días=m+n+1-día;

}< / p>

else if(año>1990)

{

for(i=1;i<=12;i++)

n+= día_mes (1990,i);

for(i=1;i

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

días = m+n+día-1;

}

else

{

for(i=mes>=1?1 : mes;i<(mes>=1?mes:1);i++)

n+=mes_día(1990,i);

días=abs(día-1)+ n ; //Primero determina cuántos días hay entre este día y el 1 de enero de 1990

}

q=days%5+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 su red hoy");

putchar('\n');

}

>/*int main() //Esta parte 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 (en año, mes, día, por ejemplo, 2016,1,14 significa 14 de enero de 2016):");

scanf("%d,%d,%d",&x,&y,&z);

printf("\nIngrese una fecha en el mismo formato que arriba:");

scanf("%d,%d,%d",&año,&mes,&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);

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 day); //Declaración de función

int option,year,month,day,x,y,z;

char ny;

system (" color 1f");

while (1)

{

printf("\n\n\t Bienvenido a Escrito por programa\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 genere cuánto dura hoy, el día de la semana y si es feriado en el calendario gregoriano.\n") ;

printf(" 4. Alguien ha estado allí desde 1990. La pesca comenzó el 1 de enero de 2011, "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",&option);

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

{

caso 1:

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

{

printf("Ingrese un año:");

scanf("%d",&year);

allyear(año);

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

scanf( "%c" ,&ny);

if(ny=='n')

descanso;

}

descanso;

caso 2:

while (1)

{

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

scanf ("%d,%d",&año,&mes);

mes_print(año,mes);

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

scanf("%c",&ny);

if(ny=='n')

ruptura;

}

ruptura;

caso 3:

mientras (1)

{

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

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

printf( "Ingrese la fecha de hoy:");

scanf("%d,%d,%d",&x,&y,&z);

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

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

scanf("%c",&ny);

if(ny=='n')

descanso;

}

descanso;

caso 4:

mientras (1)

{

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

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

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

printf("Quieres continuar consultando

¿Los pescadores están pescando o secando sus redes? (y significa continuar, n significa finalizar): ");

scanf("%c",&ny);

if(ny=='n')

descanso;

}

descanso;

caso 5:

mientras (1)

{

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

scanf("%c",&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");

romper;

p>

}

}

devolver 0;

}