2012C++程序设计实验报告【4.2】

来源:互联网 发布:多态zpn mac 编辑:程序博客网 时间:2024/06/05 23:06

/* (程序头部注释开始)* 程序的版权和版本声明部分* Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved.* 文件名称: * 作 者: 王琳 * 完成日期: 2012年 3 月17日* 版 本 号:4-2-1

* 对任务及求解方法的描述部分* 输入描述: ......* 问题描述: ......* 程序输出: ......* 程序头部的注释结束*/

头文件 mytime.cpp
01.class Time  02.{  03.public:  04.    void set_time( );     05.    void show_time( );   06.    inline void add_seconds(int n)  07.    {  08.        int s;  09.        s = sec + n;  10.        if(s > 60)  11.        {  12.            sec = s % 60;  13.            add_minutes(s/60);  14.        }  15.        else  16.        {  17.            sec = s;  18.        }  19.        return;  20.    }  21.    inline void add_minutes(int n)  22.    {  23.        int min;  24.        min = minute + n;  25.        if(min > 60)  26.        {  27.            minute = min % 60;  28.            add_hours(min / 60);  29.        }  30.        else  31.        {  32.            minute = min;  33.        }  34.        return;  35.    }  36.    inline void add_hours(int n)  37.    {  38.        int h;  39.        h = hour + n;  40.        if(h > 23)  41.        {  42.            hour = h % 24;  43.        }  44.        else  45.        {  46.            hour = h;  47.        }  48.        return;  49.    }  50.  51.private:   52.    bool is_time(int, int, int);  53.    int hour;  54.    int minute;  55.    int sec;  56.};  

主文件main.cpp

01.#include <iostream>  02.#include"mytime.h"  03.using namespace std;  04.int main( )  05.{  06.    Time t1;    07.    Time &t2=t1;  08.    t1.set_time( );     09.    t2.show_time( );  10.  11.    cout << "增加120秒后,时间是:";  12.    t1.add_seconds(120);  13.    t2.show_time();  14.  15.    cout << "增加3分钟后,时间是:";  16.    t1.add_minutes(3);  17.    t2.show_time();  18.  19.    cout << "增加4小时后,时间是:";  20.    t1.add_hours(4);  21.    t2.show_time();  22.  23.    return 0;  24.}   

类定义文件 mytime.cpp

01.#include<iostream>  02.#include"mytime.h"  03.using namespace std;  04.void Time::set_time( )   05.{  06.    char c1,c2;  07.    cout << "请输入时间(格式hh:mm:ss)";  08.    while(1)  09.    {  10.        cin>>hour>>c1>>minute>>c2>>sec;  11.        if(c1!=':'||c2!=':')  12.            cout<<"格式不正确,请重新输入"<<endl;  13.        else if (!is_time(hour,minute,sec))  14.            cout<<"时间非法,请重新输入"<<endl;  15.        else   16.            break;  17.    }  18.}  19.  20.void Time::show_time( )        21.{  22.    cout<<hour<<":"<<minute<<":"<<sec<<endl;  23.}  24.  25.bool Time::is_time(int h,int m, int s)  26.{  27.    if (h<0 ||h>24 || m<0 ||m>60 || s<0 ||s>60)  28.        return false;  29.    return true;  30.}  


虽然是有点晚,还是发上来了,好好加油吧!