您的位置:首页 > 其它

2014-04第六周项目四--静态时间累

2014-04-05 12:18 176 查看
/*
*程序的版权和版本声明部分:
*Copyright(c)2014,烟台大学计算机学院学生
*Allrightsreserved.
*文件名称:
*作者:刘晓晓
*完成日期:2014年04月4号
*版本号:v1.0
*对任务及求解方法的描述部分:
*输入描述:无
*问题描述:静态时间类
*程序输出:无
*问题分析:
*算法设计:
*/
#include<iostream>
usingnamespacestd;
classTime
{
public:
Time(inta=0,intb=0,intc=0):hour(a),minute(b),sec(c){}
voidshow_time();//根据is_24和from0,输出适合形式-20:23:5/8:23:5pm/08:23:05pm
voidadd_seconds(int);//增加n秒钟
voidadd_minutes(int);//增加n分钟
voidadd_hours(int);//增加n小时
staticvoidchange24();//改变静态成员is_24,在12和24时制之间转换
staticvoidchangefrom0();//改变静态成员from0,切换是否前导0
private:
staticboolis_24;//为true时,24小时制,如20:23:5;为flase,12小时制,显示为8:23:5pm
staticboolfrom0;//为true时,前导0,8:23:5显示为08:23:05
inthour;
intminute;
intsec;
};
//下面写出静态成员的初始化及各成员函数的定义……
boolTime::is_24=true;
boolTime::from0=true;
voidTime::show_time()
{
if(is_24==true&&from0==true)
{
if(hour<10)
cout<<"0"<<hour<<":";
else
cout<<hour<<":";
if(minute<10)
cout<<"0"<<minute<<":";

else
cout<<minute<<":";

if(sec<10)
cout<<"0"<<sec<<":";
else
cout<<sec<<":";

}

elseif(is_24==false&&from0==true)
{
if(hour>12)
cout<<24-hour<<":";
elseif(hour<10)
cout<<"0"<<hour<<":";
else
cout<<hour<<":";
if(minute<10)
cout<<"0"<<minute<<":";

else
cout<<minute<<":";

if(sec<10)
cout<<"0"<<sec<<":";
else
cout<<sec<<":";
}
elseif(is_24==true&&from0==false)

{

cout<<hour<<":"<<minute<<":"<<sec<<endl;
}
else
{
if(hour>12)
cout<<24-hour<<":"<<minute<<sec;
elseif(hour<10)
cout<<hour<<minute<<sec;

}

}

voidTime::add_hours(intn)
{
if(hour+n<=24)
{
hour=hour+n;

}
else
{
cout<<"格式不对!"<<endl;
}
show_time();

}

voidTime::add_minutes(intn)
{
if(minute+n<60)
{
minute=minute+n;
if(minute>60)
{
hour++;
minute=minute-60;
}
}
else
{
cout<<"输入错误。";
}

show_time();
}
voidTime::add_seconds(intn)
{

if(sec+n<60)
{
sec=sec+n;
if(sec>60)
{
minute++;
if(minute>60)
{
hour++;
minute=minute-60;
sec=sec-60;
}
}
}
else
{
cout<<"输入错误";
}
show_time();
}
voidTime::changefrom0()
{
inta;
cout<<"1需要前导0如08:23:06;2不需要前导0如8:23:6"<<endl;
cin>>a;
if(a==1)
{
is_24=true;
voidshow_time();
}
elseif(a==2)
{
is_24=false;
voidshow_time();
}
else
cout<<"输入错误!"<<endl;

}
voidTime::change24()
{
inta;
cout<<"1.24小时制13:00:12;2.12小时制1:00:12pm"<<endl;
cin>>a;
if(a==1)
is_24=true;
elseif(a==2)
is_24=false;
else
cout<<"输入错误!"<<endl;

}

intmain()
{

Timet1(14,15,16);
inta1,a2,a3;

t1.change24();
t1.changefrom0();
cout<<"输入要增加的秒数:"<<endl;
cin>>a1;
t1.add_seconds(a1);
cout<<"输入要增加的分数"<<endl;
cin>>a2;
t1.add_minutes(a2);
cout<<"输入要增加的小时:"<<endl;
cin>>a3;
t1.add_hours(a3);

return0;
}
还是没有达到想要的结果。。。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: