您的位置:首页 > 其它

项目4-静态成员应用

2016-04-05 18:40 399 查看
/*

*Copyright (c) 2014,烟台大学计算机学院

*All right reserved.

*文件名称:test.cpp

*作 者:韩双志

*完成日期:2016年4月2日

*版本号:v1.0

*

*问题描述:设计含有静态成员和成员函数的time类。静态成员是类中所有对象共有的数据,在下面的设计中,时钟要采用12小时制,还要使用24小时制,显示时,不足两位的*数字前是否要前导0,都是影响全局的设置

*输入描述:无;

*输出描述:输出24制,和前导,和换一种形式

*/

#include<iostream>

using namespace std;

class Time

{

public:

Time(int=0,int=0,int=0);

void show_time();

void add_seconds(int);

void add_minutes(int);

void add_hours(int);

static void change24();

static void changefrom0();

private:

static bool is_24;

static bool from0;

int hour;

int minute;

int sec;

};

bool Time::is_24=true;

bool Time::from0=false;

void Time::change24()

{

is_24=!is_24;

}

void Time::changefrom0()

{

from0=!from0;

}

Time::Time(int h,int m,int s):hour(h),minute(m),sec(s)

{

/* if(hour>12&&hour<24)

is_24=true;

else

is_24=false;*/

}

void Time::show_time()

{

if(from0==false&&is_24==true)

cout<<hour<<":"<<minute<<":"<<sec<<endl;

if(from0==true&&hour<10&&is_24==true)

cout<<"0"<<hour<<":"<<minute<<":"<<sec<<endl;

if(from0==true&&hour>10&&is_24==true)

cout<<hour<<":"<<minute<<":"<<sec<<endl;

if(from0==true&&hour>10&&is_24==false)

{

if(from0==true&&hour>12&&is_24==false)

cout<<hour%12<<":"<<minute<<":"<<sec<<"pm"<<endl;

if(from0==true&&hour<12&&is_24==false)

cout<<hour<<":"<<minute<<":"<<sec<<"am"<<endl;

}

if(from0==true&&hour<10&&is_24==false)

cout<<"0"<<hour<<":"<<minute<<":"<<sec<<"am"<<endl;

}

void Time::add_seconds(int n=10)

{

sec=sec+n;

if(sec>60)

{

minute=minute+sec/60;

sec=sec%60;

if(minute>60)

{

hour=hour+minute/60;

minute=minute%60;

if(hour>24)

hour=hour%24;

}

}

}

void Time::add_minutes(int n=0)

{

minute=minute+n;

if(minute>60)

{

hour=hour+minute/60;

minute=minute%60;

if(hour>24)

hour=hour%24;

}

}

void Time::add_hours(int n)

{

hour=hour+n;

if(hour>24)

hour=hour%24;

}

int main()

{

Time a(23,14,25),b(8,45,6);

cout<<"24时制,不前导0:"<<endl;

cout<<"t1是";

a.show_time();

cout<<"t2是";

b.show_time();

cout<<"十小时后,切换是否前导0"<<endl;

Time::changefrom0();

cout<<"t1是";

a.add_hours(10);

a.show_time();

cout<<"t2是";

b.add_hours(10);

b.show_time();

cout<<"换一种形式:"<<endl;

Time::change24();

cout<<"t1是";

a.show_time();

cout<<"t2是";

b.show_time();

}

运行结果:



知识点总结:

静态成员应用

学习心得

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