时间类
来源:互联网 发布:单片机频率计程序 编辑:程序博客网 时间:2024/06/05 09:41
#include <iostream>using namespace std;class Time{public:void set_time( );void show_time( );void add_a_sec();void add_a_minute();void add_an_hour();void add_seconds(int);void add_minutes(int);void add_hours(int);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;elsebreak;}}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;}void Time::add_an_hour(){ if(hour<24) { hour++; } else { cout<<"输入错误"<<endl; }}void Time::add_a_minute(){ if(minute<60) { minute++; if(minute>60) { hour++; minute=minute-60; } } else{cout<<"输入错误";}}void Time::add_a_sec(){ if(sec<60) { sec++; if(sec>60) { minute++; if(minute>60) { hour++; minute=minute-60; sec=sec-60; } } } else{cout<<"输入错误";}}void Time::add_seconds(int n){ if(sec+n<60) { sec=sec+n; if(sec>60) { minute++; if(minute>60) { hour++; minute=minute-60; sec=sec-60; } } } else{cout<<"输入错误";}}void Time::add_minutes(int n){ if(minute<60) { minute=minute+n; if(minute>60) { hour++; minute=minute-60; } } else{cout<<"输入错误";}}void Time::add_hours(int n){ if(hour+n<=24) { hour=hour+n; } else{cout<<"输入错误";}}int main( ){ int a;Time t1;t1.set_time( );t1.show_time( ); cout<<"1 增加一秒"; t1.add_a_sec(); t1.show_time( ); cout<<"2 增加一分"; t1.add_a_minute(); t1.show_time( ); cout<<" 3增加一小时"; t1.add_an_hour(); t1.show_time( ); cout<<"4 请输入你要增加的秒数"; cin>>a; t1.add_seconds(a); t1.show_time( ); cout<<"5 请输入你要增加的分钟数"; cin>>a; t1.add_minutes(a); t1.show_time( ); cout<<"6 请你输入你要增加的小时数"; cin>>a; t1.add_hours(a); t1.show_time( );return 0;}
0 0