一个计算活了多少天的小算法

原创 2012年03月24日 12:47:21

这个算法是把出生当作第一天,不算今天。

#include<iostream>
#include<time.h>
#include<windows.h>
using namespace std;
bool leapyear(int y){
	if(y%400==0||(y%100!=0&&y%4==0))
	return 1;
	else
	return 0;
}

void getSystemTime(int &yn,int &mn,int &dn) 
{ 
 time_t timer; 
 time(&timer); 
 tm* t_tm = localtime(&timer); 
 yn=t_tm->tm_year+1900;
 mn=t_tm->tm_mon+1;
 dn=t_tm->tm_mday;
 cout<<"今天是  "<<yn<<"年"<<mn<<"月"<<dn<<"日"<<endl;
} 

int Days(int y,int m,int d ){
	//计算该年月日是该年的第几天
	int cont=0;
	for(int i=1;i<m;i++){
		switch(i){
			case 1:
			case 3:
			case 5:
			case 7:
			case 8:
			case 10:
			case 12:
			  cont+=31;break;
			case 2:
			   cont+=28;break;
			default: 
			    cont+=30;     
		}
	}
	if(leapyear(y)&&m>2)
	cont+=1;
	cont+=d;
	return cont;
} 

int main(){
	int y,m,d;
	int yn,mn,dn;
	int sum=0;	
	cout<<"请输入年月日(例如:1990 01 01):"<<endl; 
	cin>>y>>m>>d;
	getSystemTime(yn,mn,dn);
    if(yn==y){
    	cout<<"error!"<<endl;
    	cout<<"本软件仅能提供 "<<yn<<"年之前的计算!"<<endl;
		exit(0); 
    }
	
	//计算第一年的全部天数和中间的几年 
    for(int i=y;i<yn;i++)
	{
		if(leapyear(i)) sum+=366;
	        else sum+=365;	
	} 
	//删除第一年算多了的
	sum=sum-Days(y,m,d);
	
	
	
	//计算今年的
	sum+=Days(yn,mn,dn);
	//输出	
	cout<<"今天是你人生的第 "<<sum<<" 天!"<<endl;
	cout<<"距离你人生的10000天还有 "<<10000-sum<<" 天"<<endl;  
	system("pause");
	return 0; 
}


WPF程序设计指南中的一个计算你至今活了多少年多少月多少天的例子

WPF程序设计指南中的一个计算你至今活了多少年多少月多少天的例子这个程序是第六章讲Grid布局控件的时候用到了用了一个3行2列的grid来布局界面 这里我主要是跟大家分享下作者的算法 书中源程序如下:...

无聊写了个计算你活了多少天的Java程序

话说前些天在微博上看到一个可以看下你活了多少天的程序,是用新浪微博的API写的应用程序,我好奇地也想看下我到底活了多少天,于是就点进去了。哪知道还要允许它什么更新你的微博啊,把你的结果发布上去等等什么...

第七周项目2-自选图形用户界面程序开发(计算活了多少天)

问题及代码: /* *Copyright (c) 2015,烟台大学计算机学院 *All rights reserved. *文件名称:test.cop *作者: *完成日期:2015年...

根据输入的日期计算活了多少天

应用SimpleDateFormat的小程序,根据输入的日期计算活了多少天

程序设计之二:测试你活了多少天(C)

今天看到一个网页,其功能是计算一个人从出生到今天,共有多少天,然而多次尝试,均提示输入格式错误,便萌生了自己用C语言写这个程序的想法。本程序实现的基本思想:采用控制台方式输入生日,并将该数据赋给一个结...

C++编程,求你自己活了多少天

说明: 用户需要输入自己的出生时间和当前的时间,程序会自动计算您活了多少天了=.= /*C++编程,求你自己活了多少天*/ #include using namespace std; i...

java做的你活了多少天以及万年历deng

import java.util.Scanner;import java.util.Date;public class Second{public static void main(String []...

计算自己活了多少岁

public static void timu13(){ Scanner scanner=new Scanner(System.in); System.out.prin...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一个计算活了多少天的小算法
举报原因:
原因补充:

(最多只允许输入30个字)