c++制作一个Date

最近学习了c++,深夜11点,保哥过来给了我这么一道题。在这里插入图片描述
深夜叨扰,拒绝不好意思,而且刚好学到静态,可以拿来试水练习。我就答应了。
代码和注释安排:

#include <iostream>
#include <Windows.h>
#include <time.h>
using namespace std;//--------------------设置一个新的Date类-----------------------------
class Date {public:	
void Chinese();//中国格式时间	
void American();//美国格式时间	
void Europe();//欧洲格式时间	
void static set_yy ( int ) ;//年份识别函数	
void static set_mm ( int ) ;	
void static set_dd ( int ) ;	
void static markchange(int);
private:	
	static char mark;	
	static int yy;//年份静态变量	
	static int mm;//月份静态变量	
	static int dd;//日期静态变量
};
int numb=1;
int Date::yy = 1000;//设置初始年份
int Date::mm = 3;//设置初始月份
int Date::dd = 19;//设置初始日期
char Date::mark = '.';//样式分隔符
//--------------------分隔符号的选择-----------------------------
void Date::markchange (int numa){	
	switch (numa)	{	
	case 1 :mark = '.';break;	
	case 2 :mark = '/';break;	
	case 3 :mark = '-';break;	}}
//--------------------主函数部分-----------------------------
void main(){		
	system("mode 58,30");	
	SetConsoleTitle("Date");//系统标题	
	time_t t;    
	struct tm * lt;    
	time (&t);//获取Unix时间戳    
	lt = localtime (&t);//转为时间结构	
	while(1){		
		for(int i=0;i<4;i++){//超过4次输入进行清屏处理				
		cout << "=========================================================\n";		
		cout << "请输入1-3选择您需要使用的显示格式(1:'.'||2:'/'||3:'-'):";		
		cin>>numb;		
		cout << "---------------------------------------------------------\n";		
		Date today;		
		Date::set_dd(lt->tm_mday); //日期赋系统所得值,超过31将引发警示		
		Date::set_yy(lt->tm_year+1900); //年份赋系统所得值		
		Date::set_mm(lt->tm_mon+1); //月份赋系统所得值		
		Date::markchange(numb); //改变中间分隔符样式		
		today.Chinese(); //显示中国格式的时间		
		today.Europe(); //显示欧洲格式的时间		
		today.American(); //显示美国格式的时间		
		cout << "=========================================================\n";		
		Sleep(500);		}system("cls");	}}
//-----------------------时间防错处理-----------------------------
void Date::set_dd ( int val ){			
	if ( val >=1 && val <= 31 ) dd = val;	
	else cout << "日期信息错误!\n";}
void Date::set_mm ( int val ){	
	if ( val >=1 && val <= 12 )	mm = val;	
	else cout << "月份信息错误!\n";}
void Date::set_yy ( int val ){yy = val;}
//-----------------------时间显示-----------------------------
void Date::Chinese (){	cout << "中国当前日期为:" <<yy << mark << mm << mark << dd << endl;} 
void Date::American (){	cout << "美国当前日期为:" << mm << mark << dd << mark << yy << endl;} 
void Date::Europe (){	cout << "欧洲当前日期为:" << dd << mark << mm << mark << yy << endl;}

图片由于网速原因上传不了,有兴趣的码农兄弟可以试试,如有改良版本,请私聊或评论,多谢指教。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值