第二周项目三时间类(2)

来源:互联网 发布:window python开发工具 编辑:程序博客网 时间:2024/06/06 00:10

问题及代码:

/*  * Copyright (c) 2014, 烟台大学计算机与控制工程学院  * All rights reserved.  * 文件名称:test.cpp  * 作    者:郝俊宇   * 完成日期:2015年 3 月18 日  * 版 本 号:v1.0  *  * 问题描述:(2)再增加三个成员函数,要求在类内声明,类外定义。        •add_seconds(int) //增加n秒钟        •add_minutes(int) //增加n分钟        •add_hours(int) //增加n小时 * 输入描述:输入正确的时间和需要增加的时间 * 程序输出:修改后的时间 */ #include <iostream>#include <iomanip>using namespace std;class Time{public:    void set_time( );    void show_time( );    void add_seconds();    void add_minutes();    void add_hours();    void xiugai();private:    bool is_time(int, int, int);   //这个成员函数设置为私有的,是合适的,请品味    int hour;    int minute;    int sec;    int n;};void Time::set_time( ){    char c1,c2;    cout<<"请输入时间(格式hh:mm:ss)";    while(1)    {        cin>>hour>>c1>>minute>>c2>>sec;        cout<<"输入需要增加的时间:";        cin>>n;        if(c1!=':'||c2!=':')            cout<<"格式不正确,请重新输入"<<endl;        else if (!is_time(hour,minute,sec))            cout<<"时间非法,请重新输入"<<endl;        else            break;    }}void Time::add_seconds(){    sec=sec+n;    if(sec>=60)    {        minute=minute+1;        sec=sec-60;    }}void Time::add_minutes(){    minute=minute+n;    if(minute>=60)    {        hour=hour+1;        minute=minute-60;    }}void Time::add_hours(){    hour=hour+n;    if(hour>=24)    {        hour=hour-24;    }}void Time::show_time( ){    cout<<"现在的时间是:";    cout<<hour<<":"<<minute<<":"<<sec<<endl;}void Time::xiugai(){    cout<<"修改后的时间为:";    cout<<setfill('0')<<setw(2)<<hour<<":"<<setfill('0')<<setw(2)<<minute<<":"<<setfill('0')<<setw(2)<<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;}int main( ){    Time t1;    t1.set_time( );    t1.show_time( );    t1.add_seconds();    t1.add_minutes();    t1.add_hours();    t1.xiugai();    return 0;}


运行结果:

知识点总结:

类的应用,注意时间格式

学习心得:

通过上一个问题,感觉这一个题简单多了。

0 0
原创粉丝点击