C++第二次实验1.1

来源:互联网 发布:对网络语言的看法 编辑:程序博客网 时间:2024/06/03 18:14
#include<iostream>using namespace std;class Time  {  public:      void set_time( );         void show_time( );    void add_a_sec()    {         if(sec>0&&sec<59){sec=sec+1;}         else{ sec=0;         add_a_minute();}}    void add_a_minute(){          if(minute>0&&minute<59)                minute+=1;          else {minute=0;            add_an_hour(); }}//增加1分钟    void add_an_hour(){     if(hour>0&&hour<23)         hour+=1;     else         hour=0;}//增加1小时    void add_seconds(int); //增加n秒钟    void add_minutes(int); //增加n分钟    void add_hours(int); //增加n小时 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;          else               break;      }  }  void Time::show_time( )        {      cout<<hour<<":"<<minute<<":"<<sec<<endl;  }void Time::add_seconds(int n){    int a;sec=sec+n;    a=sec/60;    if(sec>59)  {         Time::add_minutes(a);        sec=sec-60*a;    }}void Time::add_minutes(int n){    int a;    minute=minute+n;    a=minute/60;    if(minute>59){   Time::add_hours(a);       minute=minute-60*a;}}void Time::add_hours(int n){    hour=hour+n;    if(hour>23)     hour=hour-24*(hour/24);} 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;  }          int main( )  {      Time t1;     t1.set_time( );             t1.add_seconds(6);    t1.show_time( );    return 0;  } 







0 0
原创粉丝点击