⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 倒计时扩展——你诞生了多久.cpp

📁 一个简单的倒计时扩展程序
💻 CPP
字号:
#include <stdio.h>
#include <math.h>
#include <iostream.h>
void days(int m,int n);
void months(int l,int m,int n,int o,int p,int q);
void scan();
int daysofmonth(int m,int n);
int year,month,day,overyear,overmonth,overday;
int cnt=0;

void main()
{
  	int i;
	scan();
	if (year==overyear)
		months(year,month,day,overyear,overmonth,overday);
	else if (year+1==overyear)
	{
		months(year,month,day,year,12,31);
		months(overyear,1,1,overyear,overmonth,overday);
	}
	else
	{		
		months(year,month,day,year,12,31);
		for (i=year+1;i<overyear;i++)
			months(i,1,1,i,12,31);
		months(overyear,1,1,overyear,overmonth,overday);
	}
	cout<<"你已经诞生了"<<cnt-1<<"天"<<endl;
	cout<<"你已经存活了"<<(cnt-1)*24<<"小时"<<endl;
	cout<<"你已经虚度了"<<(cnt-1)*24*60<<"分钟"<<endl;
	cout<<"你已经荒废了"<<(cnt-1)*24*60*60<<"秒钟"<<endl;
	cin>>i;
}

void scan()
{ 
loop:   cout<<"\n";
		cout<<"请输入你的出生日期";
		cin>>year;
		cin>>month;
		if (month>12) 
		{cout<<"输入的月份是错误的,一年没有"<<month<<"月"; goto loop;}
		cin>>day;
		if (day>daysofmonth(month,year))
		{cout<<"输入的日期是错误的"<<month<<"月没有"<<day<<"号"; goto loop;}
		cout<<"请输入今天日期";
	 	cin>>overyear;
        if (overyear<year)
		{cout<<"输入的截止日期早于开始日期,怎么倒计时?"; goto loop;}
		cin>>overmonth;	
		if (overmonth>12) 
		{cout<<"输入的月份是错误的,一年没有"<<overmonth<<"月"; goto loop;}
		if (overyear==year && overmonth<month)
		{cout<<"输入的截止日期早于开始日期,怎么倒计时?"; goto loop;}
		cin>>overday;	
		if (overday>daysofmonth(overmonth,overmonth))
		{cout<<"输入的日期是错误的"<<overmonth<<"月没有"<<overday<<"号"; goto loop;}
		if (overyear==year && overmonth==month && overday<day)
		{cout<<"输入的截止日期早于开始日期,怎么倒计时?"; goto loop;}  
}

void months(int l,int m,int n,int o,int p,int q)
{
	int i;
	if  (m==p)
		days(n,q);	
	else if (m+1==p)
	{
		days(n,daysofmonth(m,l));
		days(1,q);
	}  
	else 
	{
		days(n,daysofmonth(m,l));
		for (i=m+1;i<=p-1;i++)
			days(1,daysofmonth(i,l));
		days(1,q);
	}   
}

void days(int m,int n)
{ 
  int i;
  for (i=m;i<=n;i++)
	  cnt++;
}

                
int daysofmonth(int m,int n)
{
  switch (m)
  {
    case 1:
	case 3:
	case 5:
	case 7:
	case 8:
	case 10:
	case 12:return 31;
	case 4:
	case 6:
	case 9:
	case 11:return 30;
	case 2:if (((n%4==0 && n%100!=0)||n%400==0))
	          return 29;
           else 
			  return 28;
    default:  return 0;
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -