项目三。时间类

来源:互联网 发布:chrome linux 32 编辑:程序博客网 时间:2024/05/16 19:35
上机内容:C++程序的编写和运行
上机目的:掌握简单C++程序的编辑、编译、连接和运行的一般过程
我的程序:
/*Copyright (c) 2013, 烟台大学计算机学院* All rights reserved.* 作    者:赵玲玲* 完成日期:2014 年 3月 12 日* 版 本 号:v1.0* 输入描述: 略* 问题描述:类定义,时间* 程序输出:略* 问题分析:* 算法设计:略*/#include <iostream>using namespace std;class Time{public:    void set_time( );    void show_time( );    void add_a_sec() //增加 1 秒钟    {        int s,m,h;        s=sec;        m=minute;        h=hour;        s+=1;//先加一秒        if(s==60)//如果秒数达到60        {            m+=1;//分钟加一            if(m==60)//如果分钟达到60            {                h+=1;//小时加一                if(h==24)                {                    h=0;                }                m=0;//分钟为0            }            s=0;//秒数为0        }        cout<<"增加一秒钟后时间为:"<<h<<":"<<m<<":"<<s<<endl;    }    void add_a_minute() //增加 1 分钟    {        int s,m,h;        s=sec;        m=minute;        h=hour;        m+=1;        if(m==60)//如果分钟达到60        {            h+=1;//小时加一            if(h==24)            {                h=0;            }            m=0;//分钟为0        }        cout<<"增加一分钟后时间为:"<<h<<":"<<m<<":"<<s<<endl;    }    void add_an_hour() //增加 1 小时    {        int s,m,h;        s=sec;        m=minute;        h=hour;        h+=1;        if(h==24)        {            h=0;        }        cout<<"增加一小时后时间为:"<<h<<":"<<m<<":"<<s<<endl;    }    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;}int main( ){    Time t1;    int n;    t1.set_time( );    cout<<"您输入的时间是:";    t1.show_time( );    t1.add_a_sec(); //增加 1 秒钟    t1.add_a_minute(); //增加 1 分钟    t1.add_an_hour(); //增加 1 小时    cout<<endl;    cout<<"请输入n的值:";    cin>>n;    t1.add_seconds(n); //增加 n 秒钟    t1.add_minutes(n); //增加 n 分钟    t1.add_hours(n); //增加 n 小时    return 0;}//增加 n 秒钟void Time::add_seconds(int n){    cout<<"增加"<<n<<"秒钟后时间为:";    int s,m,h,i=0;    s=sec;    m=minute;    h=hour;    while(i!=n)//每次加一若没达到n的值    {        s+=1;//秒数加一        if(s==60)        {            m+=1;            if(m==60)//如果分钟达到60            {                h+=1;//小时加一                if(h==24)                {                    h=0;                }                m=0;//分钟为0            }            s=0;        }        i+=1;    }    cout<<h<<":"<<m<<":"<<s<<endl;}//增加 n 分钟void Time::add_minutes(int n){    cout<<"增加"<<n<<"分钟后时间为:";    int s,m,h,i=0;    s=sec;    m=minute;    h=hour;    while(i!=n)//每次加一若没达到n的值    {        m+=1;//分钟数加一        if(m==60)//分钟加一        {            h+=1;            if(h==24)            {                h=0;            }            m=0;//分钟为0        }        i+=1;    }    cout<<h<<":"<<m<<":"<<s<<endl;}//增加 n 小时void Time::add_hours(int n){    int s,m,h,i=0;    s=sec;    m=minute;    h=hour;    while(i!=n)//每次加一若没达到n的值    {        h+=1;        if(h==24)        {            h=0;        }        i+=1;    }    cout<<"增加"<<n<<"小时后时间为:"<<h<<":"<<m<<":"<<s<<endl;}


运行结果: 
心得体会: 时间这块费了一点脑筋,不过对类这块到时熟悉了。
知识点总结:略
0 0
原创粉丝点击