2013第三周下机任务【项目一 时间类】
2013第三周上机任务【项目一 时间类】
/* * Copyright (c) 2013, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作者:樊露露 * 完成日期:2013 年 3 月 16 日 * 版本号: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_a_hour();//增加1小时 private: bool is_time(int ,int ,int ); int hour; int minute; int sec; }; inline void Time::add_a_sec(){ sec+=1; if(sec>59){ sec=0; add_a_minute(); } return; } inline void Time::add_a_minute(){ minute+=1; if(minute>59){ minute=0; add_a_hour(); } return; } inline void Time::add_a_hour(){ hour+=1; if(hour>23) hour=0; return; } 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; else return true; } int main(){ Time t1; Time &t2=t1; t1.set_time(); cout<<"增加1小时1分钟1秒后"<<endl; t1.add_a_sec(); t1.add_a_minute(); t1.add_a_hour(); t2.show_time(); return 0; }