第二周项目三 时间类

/*
  * Copyright (c) 2014,烟台大学计算机学院
  * All rights reserved.
  *文件名称: test.cop
  *作者:翟兴雷
  *完成日期:2015年11月22日
  *版本号:v1.0
  *
  *问题描述:
  *输入描述:
  *程序输出:
  */
#include <iostream>  
using namespace std;  
class Time  
{  
public:  
    void set_time( );  
    void show_time( );  
    inline void add_a_sec();  //增加1秒钟  
    inline void add_a_minute(); //增加1分钟  
    inline void add_an_hour(); //增加1小时  
    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 sec;  
};  
  
  
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)  
{  
    if (h<0 ||h>24 || m<0 ||m>60 || s<0 ||s>60)  
        return false;  
    return true;  
}  
  
inline void Time::add_a_sec()  //增加1秒钟  
{  
    ++sec;              //直接修改sec的值即可,sec是Time类的数据成员  
    if (sec>59)          //sec超出规定的范围,因为只是增加1秒,最多也就是向分钟进位1,所以增加1分钟。  
    {  
        sec=0;  
        add_a_minute(); //至于增加1分钟是否会引起小时变化,由add_a_minute()处理  
    }  
}  
  
inline void Time::add_a_minute() //增加1分钟  
{  
    ++minute;  
    if (minute>59)       //参见add_a_sec()中的注释  
    {  
        minute=0;  
        add_an_hour();  
    }  
}  
  
inline void Time::add_an_hour() //增加1小时  
{  
    ++hour;  
    if (hour>23)  
        hour=0;     //到第2天了  
  
}  
void Time::add_seconds(int n) //增加n秒钟  
{  
    sec+=n;         //直接加上去。此操作可能使sec超出取值范围,将在下面处理,我们只要保证此函数执行完sec的取值正确即可  
    if (sec>59)      //思考:if中的两条语句能否交换顺序?为什么不能?后果将是……?  
    {  
        add_minutes(sec/60);    //增加sec/60分钟  
        sec%=60;                //秒数应该是sec%=60  
    }  
}  
  
void Time::add_minutes(int n) //增加n分钟  
{  
    minute+=n;  
    if (minute>59)       //参见add_seconds()中的注释  
    {  
        add_hours(minute/60);  
        minute%=60;  
    }  
}  
  
void Time::add_hours(int n) //增加n小时  
{  
    hour+=n;  
    if (hour>23)  
        hour%=24;       //此程序不涉及日期,如果设计类DateTime,修改将继续下去  
}  
  
int main( )  
{  
    Time t1;  
    Time &t2=t1;  
    t1.set_time( );  
    cout<<"现在时间是:";  
    t2.show_time( );  
  
    t1.add_a_sec();  //增加1秒钟  
    cout<<"增加1秒钟后:";  
    t1.show_time( );  
  
    t1.add_a_minute(); //增加1分钟  
    cout<<"增加1分钟后:";  
    t1.show_time( );  
  
    t1.add_an_hour(); //增加1小时  
    cout<<"增加1小时后:";  
    t1.show_time( );  
  
    t1.add_seconds(40); //增加40秒钟  
    cout<<"增加40秒钟后:";  
    t1.show_time( );  
  
    t1.add_minutes(127); //增加127分钟  
    cout<<"增加127分钟后:";  
    t1.show_time( );  
  
    t1.add_hours(8); //增加8小时  
    cout<<"增加8小时后:";  
    t1.show_time( );  
    return 0;  

}  


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 首先要说明的是,2周时间搞定微信小程序安心食疗项目对于一个有经验的web前端来说是完全可行的。因为微信小程序开发的技术栈与web前端非常相似,而且小程序代码的结构和组件库也有很多共通之处。 当然,要想在这么短的时间内完成开发任务,首先要有一个较为清晰的项目需求和设计方案。其次,需要具备熟练运用微信小程序开发工具的能力,对于小程序的基本组件、API、事件绑定等方面也要有一定的掌握。 在开发过程中,我们可以利用小程序自带的模板和组件库来快速搭建页面,也可以借助第方UI框架来提高开发效率。同时,我们需要和后端开发人员协作,进行数据接口的对接和业务逻辑的实现。 最后,在完成开发后,我们可以通过微信小程序的测试平台进行测试和调试,将小程序发布到线上进行体验。当然,在发布前还需要进行代码的审核和发布准备工作。 总而言之,2周时间搞定微信小程序安心食疗项目并不是难事,只要有明确的需求和设计,具备熟练的开发能力并与后端开发进行配合,还有进行充分的测试和调试,就可以顺利完成开发任务。 ### 回答2: 在这个快速发展的互联网时代,技术的更新换代速度越来越快,对于从事IT行业的人来说,不断学习是必不可少的。最近,我接手了一家公司的微信小程序安心食疗项目的Web前端工作。任务是在两周内完成整个项目的前端部分。经过不断努力,我成功地完成了这项挑战。在这个过程中,我收获了很多经验和收获。 首先,学习要快速、高效。为了完成这个项目,我必须要快速掌握微信小程序的相关知识,以及前端技术栈。我采用了找资料、看视频、实践结合的方式,尽可能地减少学习成本,高效地提升自己的能力。 其次,多与他人交流。在这个项目中,我需要与其他团队成员强烈合作。在与他们交流的过程中,我不断吸收他们的意见和建议,不断改进自己的工作方式,不断提升团队的效率。 最后,持续学习是很重要的。完成这个项目只是一个阶段性的胜利。在这个过程中,我意识到自己还有很多不足之处,需要不断地学习和提升自己的能力。 总的来说,web前端2周搞定微信小程序安心食疗项目是一次充实、宝贵的经验,它让我了解到,如果我们不断学习和不断与他人交流,我们就能够战胜挑战,达到新的高度。 ### 回答3: 微信小程序是一种非常流行的应用程序,用于在微信的平台上提供丰富的功能和服务。安心食疗项目是一个非常有意义的项目,旨在提供健康饮食建议,帮助人们改善饮食习惯,预防和治疗疾病。 对于web前端工程师来说,学习和掌握微信小程序开发并不是一件难事。在2周的时间内,一个有志的前端工程师完全可以通过学习相关文献和教程,以及实践和挑战来掌握微信小程序开发的技能。 在开发微信小程序过程中,前端工程师需要注意的是,小程序的体验和性能方面要优秀,遵守微信小程序开发标准,避免使用适用于Web的框架和插件。此外,在安心食疗项目中,前端工程师还需要了解健康饮食方面的专业知识和技能,以更精确地满足用户的需求。 为了让用户体验更好,前端工程师需要注重小程序的设计和页面交互性,以提高用户参与度和满意度。通过对微信小程序及相关技术的深度掌握,前端工程师不仅可以用短短的两周时间搞定安心食疗项目开发,还可以在微信小程序开发领域获得更多的机会和挑战。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值