身体状态统计(游戏)

版权声明:本文为博主原创文章,转载请注明出处. https://blog.csdn.net/SilenceCoder/article/details/20809243
#include<stdio.h>

int birthdays();//计算从出生日到现在的总天数
int sum();//计算某一年到某一年的总天数
int count();//计算闰年与非闰年某一天为该年第几天
int	number();//计算第n月m天为该年第几天的函数
void cheack(int num);//判断身体状态
int door = 0;


int main()
{
	int Year1;
	int Month1;
	int Date1;
	int Year2;
	int Month2;
	int Date2;
	int Days=0;

	printf("请输入您的出生日期:year-math-day\n");
	scanf("%d-%d-%d",&Year1,&Month1,&Date1);
	printf("请输入您当前的日期:\nyear-math-day\n");
	scanf("%d-%d-%d",&Year2,&Month2,&Date2);
	Days=birthdays(Year1,Year2,Month1,Month2,Date1,Date2);
	if(door<1 && Days>0)
	{
		printf("今天是你出生后的第%d天\n",Days);
		cheack(Days);
	}
	else if (door = 1 || Days < 0)
	{
		printf("输入的信息有误!");
	}
	
}


int birthdays(int Year1,int Year2,int Month1,int Month2,int Date1,int Date2)
{
	int Sumdays = 0;

	if(Year1 <= Year2)
	{
		Sumdays = sum(Year1,Year2) + count(Year2,Month2,Date2) - count(Year1,Month1,Date1);
	
	}
	else if(Year1 > Year2)
	{
		door = 1;
	}
	return Sumdays;
}



int sum(int Year1,int Year2)
{
	int n,Days = 0;


	for(n = Year1;n < Year2;n++)
	{
		if (((n%100!=0) && (n%4==0)) || (n%400==0))
		{
			Days += 366;
		}
		else
		{
			Days += 365;
		}
	}
	return Days;
}


int count(int Year,int Month,int Date)
{
	int Days = 0;
	int flg;

	if ((Year%100!=0) && (Year%4==0) || (Year%400==0))
	{
		flg = 1;
		if ((2==Month) && (Date>29))
		{
			door = 1;
		}
 		Days += number(Month,Date,flg);			
	}

	else
	{	
		if ((2==Month) && (Date>28))
		{
			door = 1;
		}
		flg = 2;
		Days += number(Month,Date,flg);
	}

	return Days;
}



int number(int Month,int Date,int flg)
{
	int Days = 0;
	int i = Month;

	if (i == 1)
	{
		Days = Days + Date;
	}
	else if(i > 1)
	{
		for(i = 1;i < Month ;i++)
		{
			if (1==i || 3==i || 5==i || 7==i || 8==i || 10==i || 12==i)
			{
				if(Date > 31)
				{
					door = 1;
				}
				Days += 31;
			}

			else if (4==i || 6==i || 9==i|| 11==i)
			{
				if(Date > 30)
				{
					door = 1;
				}
				Days += 30;
			}

			if(2 == i)
			{
			
				if (1 == flg)//通过标志位来辨别是否闰年
					{
						Days += 29;
					}

				if(2 == flg)
					{
						Days += 28;
					}
			}
			
		}
		Days += Date;
	}
return Days;
}

void  cheack(int num)
{
	int Power = num%23;
	int Lively = num%28;
	int Brains = num%33;

	if (Power>0 && Power<=11)
	{
		printf("体力高潮期\n");
	}
	else
	{
		printf("体力低潮期\n");
	}
	if (Lively>0 && Power<=14)
	{
		printf("情绪高潮期\n");
	}
	else
	{
		printf("情绪低潮期\n");
	}

	if (Brains>0 && Brains<=16)
	{
		printf("体力高潮期\n");
	}
	else
	{
		printf("体力低潮期\n");
	}


	
}

猜你喜欢

转载自blog.csdn.net/SilenceCoder/article/details/20809243