C++编程,求你自己活了多少天
来源:互联网 发布:标致雪铁龙 知乎 编辑:程序博客网 时间:2024/04/30 10:36
说明:
用户需要输入自己的出生时间和当前的时间,程序会自动计算您活了多少天了=.=
/*C++编程,求你自己活了多少天*/#include<iostream> using namespace std;int main(){int y1,y2,m1,m2,d1,d2;int panduan(int y,int m,int d);//计算天数的函数的声明double total=0;cout<<"please input your birthday:";//输入你的出生日期cin>>y1>>m1>>d1;cout<<y1<<"/"<<m1<<"/"<<d1<<endl; cout<<"please input now day date:";//输入现在的日期cin>>y2>>m2>>d2;cout<<y2<<"/"<<m2<<"/"<<d2<<endl; //计算经过的年的天数for(int i=y1;i<y2;i++){if((i%4==0&&i%100!=0)||(i%400==0))total+=366;else total+=365; } int duo1,duo2; duo1=panduan(y1,m1,d1); duo2=panduan(y2,m2,d2); total+=duo2-duo1+1;//计算经过的净天数 cout<<"you have lived for "<<total<<" days"<<endl; return 1; }int panduan(int y ,int m,int d){int db[2][12]={{31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,31,31,30,31,30,31}};int duo=0,i=0; if((y%4==0&&y%100!=0)||(y%400==0)) //闰年的情况 { for(i=0;i<m-1;i++) { duo+=db[1][i]; } }else{//平年的情况 for(i=0;i<m-1;i++) { duo+=db[0][i]; } } cout<<(duo+=d)<<endl; return duo; }
程序效果图:
对程序的一些思考
思考:其实,现在的时间可以不用输入,应该可以通过C++的函数来直接获取现在的日期,这样更加人性化。
找到了优化方法
哈哈,小编我又回来了~
C++获取当前日期的方法查了下C++获取系统当前日期的方法,有篇文章不错,推荐下:http://blog.csdn.net/zjnig711/article/details/2419081/
我采用的最简单的,使用了windows API的方法,有就是那篇文章中的方法二用来优化该程序。
获取日期的方法示例代码:
#include <windows.h>//获取Windows API#include<iostream>using namespace std;int main( void ){SYSTEMTIME sys;GetLocalTime( &sys );cout<<sys.wYear<<"年"<<sys.wMonth<<"月"<<sys.wDay<<"日"; return 0;}
优化后的代码:
/*C++编程,求你自己活了多少天,优化版*/#include<iostream> #include<windows.h> using namespace std;int main(){int y1,y2,m1,m2,d1,d2;int panduan(int y,int m,int d);//计算天数的函数的声明double total=0;cout<<"please input your birthday:";//输入你的出生日期cin>>y1>>m1>>d1;cout<<"your birthday: "<<y1<<"/"<<m1<<"/"<<d1<<endl; SYSTEMTIME sys; GetLocalTime( &sys ); y2=sys.wYear;//获得当前的年分 m2=sys.wMonth;//获得当前月份 d2=sys.wDay;//获得当前的天 cout<<"now date: "<<y2<<"/"<<m2<<"/"<<d2<<endl; //计算经过的年的天数for(int i=y1;i<y2;i++){if((i%4==0&&i%100!=0)||(i%400==0))total+=366;else total+=365; } int duo1,duo2; duo1=panduan(y1,m1,d1); duo2=panduan(y2,m2,d2); total+=duo2-duo1+1;//计算经过的净天数 cout<<"you have lived for "<<total<<" days"<<endl; return 1; }int panduan(int y ,int m,int d){int db[2][12]={{31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,31,31,30,31,30,31}};int duo=0,i=0; if((y%4==0&&y%100!=0)||(y%400==0)) //闰年的情况 { for(i=0;i<m-1;i++) { duo+=db[1][i]; } }else{//平年的情况 for(i=0;i<m-1;i++) { duo+=db[0][i]; } } duo+=d; return duo; }
优化后的程序只需要输入你的出生日期即可,不再不需要输入现在的日期,更加人性化^_^
程序运行界面:
- C++编程,求你自己活了多少天
- 黑马程序员 C#程序 求你活了多少天
- 活了多少天
- C语言编程求“有多少个一?”
- C语言判断你活了多少天
- 问题 C: 活了多少秒
- 算法:输入两个日期,求之间相差了多少天
- 程序设计之二:测试你活了多少天(C)
- C语言实现计算一年中过了多少天
- java计算自己活了多少天
- Tcl/C混合编程:将Tcl嵌入你自己的程序
- 算法编程:共打了多少鱼?
- 对于你自己,你到底有多少认识?
- JavaScript API函数扩展,你自己有多少?
- 编程求 n 这个数有多少个0~9?
- 计算你从出生到今天活了多少天,今年多少岁
- 计算你活了多少天——vbscript
- 一个计算活了多少天的小算法
- 模式识别:聚类分析
- unity3d文件读写
- ORACLE 常用命令行记录
- Discuz! X2 核心类源码(class_core.php)分析
- Discuz!X 插件制作教程( 网站基本数据)
- C++编程,求你自己活了多少天
- Discuz!X 插件制作教程 --管理中心
- C++中引用(&)的用法和应用实例
- Discuz!X 插件制作教程 ------ 页面嵌入 & 导航
- Discuz!X 插件制作教程 ------ 发布插件
- discuzX2插件制作教程
- Discuz!$_G变量的使用方法
- C程序设计课程-2012电子信息 第十次实验任务
- php实战第十八天