C++第二次实验-类和对象

一、

  1. * 文件名称:正整数类  
  2. * 作    者:谷雨  
  3. * 完成日期:2016 年 4月 8日    
  4. * 版 本 号:v1.0    
  5. * 对任务及求解方法的描述部分:调用函数   
  6. * 输入描述: 无    
  7. * 问题描述:   
  8.       设类,调用  
  9. * 程序输出: 略   
  10. * 问题分析: 无    
  11. * 算法设计: 无    

二、

#include <iostream>  
using namespace std;  
class Time  
{  
public: 
void shijian()
{
if(second>=60)
{
second=second-60;minute++;
}
if(minute>=60)
{
minute=minute-60;hour++;
}
if(hour>=24)
{
hour=hour-24;
}
} //定义时间变化的函数
    void set_time( );     
    void show_time( );
void add_a_second()  //增加1秒钟
{
second=second+1;
shijian();
}
void add_a_minute() //增加1分钟
{
minute=minute+1;
shijian();
}
void add_an_hour() //增加1小时
{
hour=hour+1;
shijian();
}
void add_seconds(int); //增加n秒钟
void add_minutes(int); //增加n分钟
void add_hours(int); //增加n小时
private:   
    bool is_time(int, int, int);   //这个成员函数设置为私有的,是合适的,请品味  
    int hour;  
    int minute;  
    int second;  
};  
void Time::set_time( )   
{  
    char c1,c2;  
    cout<<"请输入时间(格式hh:mm:ss)\n";  
    while(1)  
    {   cin>>hour>>c1>>minute>>c2>>second;  
if(c1!=':'||c2!=':')  
cout<<"格式不正确,请重新输入\n"<<endl;  
else if (!is_time(hour,minute,second))  
cout<<"时间非法,请重新输入\n"<<endl;  
else   
break;  
    }  
}  //定义正确的时间输入
void Time::add_seconds(int n)
{
second=second+n;
shijian();
}
void Time::add_minutes(int n)
{
minute=minute+n;
shijian();
}
void Time::add_hours(int n)
{
hour=hour+n;
shijian();
}
void Time::show_time( )        
{  
    cout<<hour<<":"<<minute<<":"<<second<<endl;  
}  
bool Time::is_time(int h,int m, int s)  
{  
    if (h<0 ||h>24 || m<0 ||m>60 || s<0 ||s>60)  
        return false;  
    return true;  
}  
int main( )  
{  
    Time t1;    
    t1.set_time( );
t1.add_a_second( );
t1.add_a_minute( );
t1.add_an_hour( ); 
/* t1.add_seconds( );
t1.add_minutes( );
t1.add_hours( ); */
    t1.show_time( );

    return 0;  

 

三、心得体会

需要思考,函数较多,有所帮助

四、知识点总结

类与对象的认识


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值