Red de conocimiento informático - Descarga de software - Usando programación de matrices en lenguaje C, al completar el año, mes y día, el resultado es el día del año.

Usando programación de matrices en lenguaje C, al completar el año, mes y día, el resultado es el día del año.

Método 1:

#include

#include

#include

void main()

{

int día,mes,año,suma,salto;

hacer{

printf("\ningrese año mes día\n");

printf("\ningrese año mes día\n");

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

if((mes==1&&día<=31&&día>=1)||

((año% 4 ==0&&año%100!=0||año%400==0)&&(mes==2&&día<=29&&día>=1))||

(!(año%4==0&&año % 100!=0||año%400==0)&&(mes==2&&día<=28&&día>=1))||

(mes==3&&día<=31&&día>=1)| (mes==4&&día<=30&&día>=1)||

(mes==5&&día<=31&&día>=1)||(mes==6&&día<=30&&día>=1)|| /p>

(mes==7&&día<=31&&día>=1)||(mes==8&&día<=31&&día>=1)||

(mes==9&&día<=30&&día > =1)||(mes==10&&día<=31&&día>=1)||

(mes==11&&día<=30&&día>=1)||(mes==12&&día<=31&&día> = 1))

{ switch(month)//Primero calcula el número total de días del mes anterior

{

case 1:sum=0; romper ;

caso 2:sum=31;romper;

caso 3:sum=59;romper;

caso 4:sum=90;romper;

caso 5:sum=120;ruptura;

caso 6:sum=151;ruptura;

caso 7:sum=181;ruptura;

caso 8

:sum=212;break;

caso 9:sum=243;break;

caso 10:sum=273;break;

caso 11:sum =304;romper;

caso 12:sum=334;romper;

default:printf("error de datos");

romper;

}

sum=sum+day; //Suma el número de días en un día determinado

if(year%400==0||(year%4 == 0&&year%100!=0)) //Juzga si es un año bisiesto

salto=1;

else

salto=0;

if(leap==1&&month>2) //Si es un año bisiesto y el mes es mayor que 2, se debe sumar un día al total de días

sum++ ;

//clrscr(); //Borrar pantalla

system("cls"); //borrar pantalla

printf("%d-% d-%dis los primeros %d días del año.\n\ n",año,mes,día,suma);

printf("%d-%d-%d es el % d día de este año.\n\n",año,mes,día,suma);

}

else printf("\tErrores de datos!!!\n\n ");

}mientras(1);

}

Método 2:

#include

#include

struct

{

int año;

int mes;

int día;

}fecha;

void main()

{int i,días;

int day_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};

hacer{

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

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

system("cls"); //Borrar pantalla

días=0;

if((date.month==1&&date.day<=31&&date.day>=1 )||

((fecha.año%4 ==0&&fecha.año%100!=0||fecha.año%400==0)&&(fecha.mes==2&&fecha.día<= 29&&date.day>=1))||

(!(date.year%4==0&&date.year%100!=0||date.year%400==0)&&(date. mes==2&&fecha.día<=28&&fecha.

día>=1))||

(fecha.mes==3&&fecha.día<=31&&fecha.día>=1)||(fecha.mes==4&&fecha.día<=30&&fecha.día> =1)||

(fecha.mes==5&&fecha.día<=31&&fecha.día>=1)||(fecha.mes==6&&fecha.día<=30&&fecha.día>=1) ||

(fecha.mes==7&&fecha.día<=31&&fecha.día>=1)||(fecha.mes==8&&fecha.día<=31&&fecha.día>=1)||

(fecha.mes==9&&fecha.día<=30&&fecha.día>=1)||(fecha.mes==10&&fecha.día<=31&&fecha.día>=1)||

(fecha.mes==11&&fecha.día<=30&&fecha.día>=1)||(fecha.mes==12&&fecha.día<=31&&fecha.día>=1))

{

for(i=1;i

días+=día_tab[i];

días+=fecha.día;

p>

if((fecha.año%4==0&&fecha.año%100!=0||fecha.año%400==0)&&fecha.mes>=3)

días++;

printf("\n\n");

printf("\t%d/%d es el %désimo día en %d.\n ",fecha.mes,fecha.día,días,fecha.año);

}

else printf("\tErrores de datos!!!\n\n");

}mientras(1);

}