C++走向远洋——27(项目三,时间类)
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:time.cpp * 作者:常轩 * 微信公众号:Worldhello * 完成日期:2016年3月30日 * 版本号:V1.0 * 问题描述:时间类 * 程序输入:hh:mm:ss * 程序输出:见运行结果 */ #include<iostream> using namespace std; class Time { public: void set_time(); void show_time(); void add_a_sec(); void add_a_minute(); void add_a_hour(); private: int sec; int minute; int hour; bool is_time(int,int,int); }; void Time::set_time() { char c1,c2; cout<<"请输入时间(格式hh:mm:ss)"<<endl; 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() { sec++; if(sec>59) { sec=0; minute++; if(minute>59) { hour++; minute=0; } } } inline void Time::add_a_minute() { minute++; if(minute>59) { hour++; minute=0; } } inline void Time::add_a_hour() { hour++; if(hour>23) hour=hour-24; } int main() { Time t1; t1.set_time(); t1.add_a_sec(); t1.add_a_minute(); t1.add_a_hour(); t1.show_time(); return 0; }
运行结果:
心得:
弄清楚,类内的变量和程序运行的步骤,就行了,其实这些东西都是语法