掌控时间的玩法!!!

来源:互联网 发布:菜鸟网络 股东 编辑:程序博客网 时间:2024/06/12 01:46
/* * 程序的版权和版本声明部分 * Copyright (c)2012, 烟台大学计算机学院学生 * All rightsreserved. * 文件名称: x.cpp * 作者:张浩* 完成日期: 2013年3  月17  日 * 版本号: v1.0 * 输入描述:输入时间,并输入增加多少秒,多少分钟,多少小时。  * 问题描述:运用类和对象,初步练习使用  * 程序输出:增加后的时间是多少。 */  #include <iostream>using namespace std;class Time{public:void set_time();void show_time();void add_seconds();//增加n秒void add_minutes();//增加n分钟void add_hours();//增加n小时    void add_a_sec()//增加1秒{sec+=1;if(sec==60){sec=00;minute+=1;if(minute==60){minute=00;hour+=1;if(hour==24){hour=00;}}}cout<<"增加1秒后,时间为:"<<endl;if(hour==00&&minute==00&&sec==00){cout<<"第二天  "<<endl;show_time();}elseshow_time();hour=h;minute=m;sec=s;}    void add_a_minute()//增加1分钟{minute+=1;if(minute==60){minute=00;hour+=1;if(hour==24){hour=00;}}cout<<"增加1分钟后,时间为:"<<endl;if(hour==00&&minute==00){cout<<"第二天  ";show_time();}elseshow_time();hour=h;minute=m;sec=s;}    void add_an_hour()//增加1小时{hour+=1;if(hour==24){hour=00;}cout<<"增加1小时后,时间为:"<<endl;if(hour==00){cout<<"第二天 ";show_time();}elseshow_time();hour=h;minute=m;sec=s;}private:bool is_time(int,int,int);int hour,h;int minute,m;int sec,s;};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{h=hour;m=minute;s=sec;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;elsereturn true;}void Time::add_seconds()//增加n秒{int n;cout<<"请输入增加的秒数:"<<endl;cin>>n;sec+=n;int a=0;while(sec>=60){sec-=60;++a;}minute+=a;a=0;while(minute>=60){minute-=60;++a;}hour+=a;a=0;while(hour>=24){hour-=24;++a;}cout<<"增加"<<n<<"秒后,时间为:"<<endl;if(a==0)show_time();else{cout<<"第"<<a+1<<"天 ";show_time();}hour=h;minute=m;sec=s;}void Time::add_minutes()//增加n分钟{int n;cout<<"请输入增加的分钟数:"<<endl;cin>>n;int a=0;minute+=n;while(minute>=60){minute-=60;++a;}hour+=a;a=0;while(hour>=24){hour-=24;++a;}cout<<"增加"<<n<<"分钟后,时间为:"<<endl;if(a==0)show_time();else{cout<<"第"<<a+1<<"天 ";show_time();}hour=h;minute=m;sec=s;}void Time::add_hours()//增加n小时{int n,a=0;cout<<"请输入增加的小时数:"<<endl;cin>>n;hour+=n;while(hour>=24){hour-=24;++a;}cout<<"增加"<<n<<"小时后,时间为:"<<endl;if(a==0)show_time();else{cout<<"第"<<a+1<<"天 ";show_time();}hour=h;minute=m;sec=s;}int main(){Time t1;Time &t2=t1;t1.set_time();//cout<<endl<<"现在的时间为:"<<endl;t2.show_time();t2.add_a_sec();t2.add_a_minute();t2.add_an_hour();t2.add_seconds();t2.add_minutes();t2.add_hours();return 0;}

运行结果:

心得体会:在编程中我遇到了一个“程序中缺少一个‘}’的问题”,但是真的把我给难住不,不过还好我已经解决了,这次真的是长见识了。