第四周实验报告(2)

原创 2012年03月21日 20:05:16
#include<iostream> 
using namespace std;                                                       
class Time      
{      
public:      
void set_time( );         
    void show_time( ); 
inline void add_a_sec();         
    inline void add_a_minute();        
    inline void add_an_hour(); 
    void add_seconds(int);       
    void add_minutes(int);        
    void add_hours(int);        

private:       

    bool is_time(int, int, int);
int hour;      
    int minute;      
    int sec;    
};     
int main( )        
{        
    int ss,mm,hh;  
    Time t1;      
    t1.set_time( );           
    t1.show_time( );        
    t1.add_a_sec();          
    cout<<"时间增加一秒后的为:";        
    t1.show_time( );        
    t1.add_a_minute();         
    cout<<"时间增加一分钟后的为:";        
    t1.show_time( );        
    t1.add_an_hour();        
    cout<<"时间增加一小时后的为:";        
    t1.show_time( );        
    cout<<"输入要增加的秒数:";         
    cin>>ss;        
    t1.add_seconds(ss);        
    cout<<"增加"<<ss<<"秒后的时间为:";        
    t1.show_time( );        
    cout<<"输入要增加的分数:";         
    cin>>mm;         
    t1.add_minutes(mm);        
    cout<<"增加"<<mm<<"分钟后的时间为:";        
    t1.show_time( );         
    cout<<"输入要增加的时数:";         
    cin>>hh;         
    t1.add_hours(hh);        
    cout<<"增加"<<hh<<"小时后的时间为:";        
    t1.show_time( );        
    system("PAUSE");        
    return 0;        
}    


void Time::set_time( )         
{        
    char c1,c2;        
    cout<<"请输入时间(格式hh:mm:ss)";        
    while(1)        
    {        
        cin>>hour>>c1>>minute>>c2>>sec;        
        if(c1!=':'||c2!=':')        
            cout<<"格式不正确,请重新输入"<<endl;        
        else if (!is_time(hour,minute,sec))        
            cout<<"时间非法,请重新输入"<<endl;        
        else         
            break;        
    }        
}        


void Time::show_time( )              
{        
    cout<<hour<<":"<<minute<<":"<<sec<<endl;        
}        


bool Time::is_time(int h,int m, int s)
{
bool prime;
prime=true;
if (h<0 ||h>24 || m<0 ||m>60 || s<0 ||s>60)
{
prime=false;
}
return prime;
}        


inline void Time::add_a_sec()            
{      
    add_seconds(1);
}        


inline void Time::add_a_minute()           
{     
    add_minutes(1);    

}        


inline void Time::add_an_hour()          
{        
    add_hours(1);    

}        


void Time::add_seconds(int ss)          
{              
    sec=sec+ss;   
    if(sec>60)      
    {   
sec=sec%60;
minute=minute+sec/60;
}      
    if(minute>60)      
    {       
        minute=minute%60;      
        hour=hour+minute/60;          
    }
if(hour>23)
{      
        hour=hour-23-1;      
    }
}        


void Time::add_minutes(int mm)           
{             
    minute=minute+mm;        
    if(minute>60)      
    {    
        hour=hour+minute/60;     
        minute=minute%60;      

    }                                        
    if(hour>23)      
    {      
        hour=hour-23-1;      
    }
}        


void Time::add_hours(int hh)           
{          
    hour=hour+hh;      
    if(hour>23)      
    {      
        hour=hour-23-1;      
    }
}   

相关文章推荐

第十六周实验报告(四)---指针做 十四周任务2

#include #include using namespace std; //在这个问题中,成绩和人数是核心数据,适合作为全局变量处理 int score[50]; //将score设为全...
  • YtdxYHZ
  • YtdxYHZ
  • 2012年02月14日 12:57
  • 434

《第四周实验报告2-1》---利用多文件组织项目

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: mai...

《第四周实验报告任务2》

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:  ...

《C++第十四周实验报告2-1》---建立专门的链表类处理有关动态链表的操作

/* 【任务2】建立专门的链表类处理有关动态链表的操作 动态链表也是程序设计中的一种非常有用的数据结构。可以说,是否能够理解有关操作的原理,决定了你是否有资格称为“科班”出身。 在C++程序设计中解决...

第四周实验报告 任务2

#include #include "mytime.h" using namespace std; int main( ) { Time t...

《C++第十四周实验报告1-2》---规定MyArray只能处理元素为整型的数据未免太弱了, 请设计成模板类,使之适应各种类型

/* 【任务1扩展一(选做)】规定MyArray只能处理元素为整型的数据未免太弱了, 请设计成模板类,使之适应各种类型(事实上,C++增加的标准类对些类情况均设计成了模板类)。 */ /* (程序头部...

第十四周实验报告(2)

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:在已...

Java编程第四周实验报告2

实验目的: 对于一个大于3位数的任意整数,输出其降序数。例如,整数82319,则其降序数是98321.算法提示:将整数的各位数分解到一维数组a中,再将a数组中的元素按降序排序,最后输出a数组元素值。...

《第四周实验报告2》

* 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生  * All rights reserved. * 文件名称:   main.cpp mytime.c...

《第十四周实验报告任务2》

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: 《...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第四周实验报告(2)
举报原因:
原因补充:

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