项目1 我的代码真的不行呀

本文介绍了一个名为Time的类的设计与实现,该类能够处理时间的加减操作,并支持24小时制与12小时制之间的转换以及是否前导0的设置。通过实例演示了如何使用此类进行时间的操作与显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include<iostream>
using namespace std;
class Time{
public:
   Time(int=0,int=0,int=0);
   void show_time();
   void add_sends(int);
   void add_minutes(int);
   void add_hours(int);
   static void change24();
   static void changefrome0();
private:
    static bool is_24;
    static bool from0;
    int hour;
    int minute;
    int sec;
};
int main(){
 Time t1(23,14,25),t2(8,5,6);
 int n;
 cout<<"24小时制,不前导0"<<endl;
 cout<<"t1是";
 t1.show_time();
 cout<<endl;
 cout<<"t2是";
 t2.show_time();
 cout<<endl;
 cout<<"请输入你要加的时间";
 cin>>n;
 cout<<n<<"小时后,切换是否前导0"<<endl;
 t1.add_hours(n);
 t2.add_hours(n);
t1.changefrome0();
t2.changefrome0();
 cout<<"t1是";
 t1.show_time();
 cout<<endl;
 cout<<"t2是";
 t2.show_time();
 cout<<endl;
 cout<<"换一种制式:"<<endl;
  t1.changefrome0();
  t1.change24();
  t2.changefrome0();
  t2.change24();
 cout<<"t1是";
 t1.show_time();
 cout<<endl;
 cout<<"t2是";
 t2.show_time();
 cout<<endl;
  return 0;
}
bool Time::is_24=true;
bool Time::from0=false;
Time::Time(int h,int m,int s){
    hour=h;
   minute=m;
   sec=s;
}
void Time::show_time(){
	if(hour>24){
		cout<<"超时了";
	}else{
  if(is_24==true && from0==false)
   cout<<hour<<":"<<minute<<":"<<sec<<endl;
  else if(is_24 && from0)
  {
      if(hour<10 && minute>10 && sec>10)
      cout<<"0"<<hour<<":"<<minute<<":"<<sec<<endl;
      else if(hour>=10 && minute<10 && sec>10)
        cout<<hour<<":"<<"0"<<minute<<":"<<sec<<endl;
      else if(hour>=10 && minute>=10 && sec<10)
       cout<<hour<<":"<<minute<<": 0"<<sec<<endl;
      else if(hour<10 && minute<10 && sec<10)
       cout<<"0"<<hour<<": 0"<<minute<<": 0"<<sec<<endl;
	  else if(hour<10 && minute<10 && sec>=10)
       cout<<"0"<<hour<<": 0"<<minute<<": "<<sec<<endl;
	  else if(hour>=10 && minute<10 && sec<10)
       cout<<hour<<": 0"<<minute<<": 0"<<sec<<endl;
	  else if(hour<10 && minute>=10 && sec<10)
       cout<<"0"<<hour<<":"<<minute<<": 0"<<sec<<endl;
	  else
   cout<<hour<<":"<<minute<<":"<<sec<<endl;
  }
 else if(is_24==false && from0==true){
	 if(hour>12){
	 if(hour==13){
	   hour=1;
	 }
	 else if(hour==14){
	   hour=2;	 
	 }
	 else if(hour==15){
	   hour=3;	 
	 }
	 else if(hour==16){
	   hour=4;	 
	 }
	 else if(hour==17){
	   hour=5;	 
	 }
	 else if(hour==18){
	   hour=6;	 
	 }
	 else if(hour==19){
	   hour=7;	 
	 }
	 else if(hour==20){
	   hour=8;	 
	 }
	 else if(hour==21){
	   hour=9;	 
	 }
	 else if(hour==22){
	   hour=10;	 
	 }
	 else if(hour==23){
	   hour=11;	 
	 }
	 else if(hour==24){
	   hour=12;	 
	 }
	 if(hour<10){
	 if(minute<10 && sec>10)
		 cout<<"0"<<hour<<":"<<"0"<<minute<<":"<<sec<<"  pm"<<endl;
	 else if(minute>10 && sec<10)
	 cout<<"0"<<hour<<":"<<minute<<":  0"<<sec<<"  pm"<<endl;
	 else if(minute<10 && sec<10)
		 cout<<"0"<<hour<<":"<<"0"<<minute<<": 0"<<sec<<"  pm"<<endl;
     else
		 cout<<"0"<<hour<<":"<<minute<<":"<<sec<<"  pm"<<endl;
	 }else{
	  if(minute<10 && sec>10)
		 cout<<hour<<":"<<"0"<<minute<<":"<<sec<<"  pm"<<endl;
	 else if(minute>10 && sec<10)
	 cout<<hour<<":"<<minute<<":  0"<<sec<<"  pm"<<endl;
	 else if(minute<10 && sec<10)
		 cout<<hour<<":"<<"0"<<minute<<": 0"<<sec<<"  pm"<<endl;
     else
		 cout<<hour<<":"<<minute<<":"<<sec<<"  pm"<<endl;
	 }
	 }else{
	 if(hour<10){
	 if(minute<10 && sec>10)
		 cout<<"0"<<hour<<":"<<"0"<<minute<<":"<<sec<<"  pm"<<endl;
	 else if(minute>10 && sec<10)
	 cout<<"0"<<hour<<":"<<minute<<":  0"<<sec<<"  am"<<endl;
	 else if(minute<10 && sec<10)
		 cout<<"0"<<hour<<":"<<"0"<<minute<<": 0"<<sec<<"  am"<<endl;
     else
		 cout<<"0"<<hour<<":"<<minute<<":"<<sec<<"  am"<<endl;
	 }else{
	  if(minute<10 && sec>10)
		 cout<<hour<<":"<<"0"<<minute<<":"<<sec<<"  am"<<endl;
	 else if(minute>10 && sec<10)
	 cout<<hour<<":"<<minute<<":  0"<<sec<<"  am"<<endl;
	 else if(minute<10 && sec<10)
		 cout<<hour<<":"<<"0"<<minute<<": 0"<<sec<<"  am"<<endl;
     else
		 cout<<hour<<":"<<minute<<":"<<sec<<"  am"<<endl;
	 }	 
	 }
}
 else{
     if(hour==13){
	   hour=1;
	 }
	 else if(hour==14){
	   hour=2;	 
	 }
	 else if(hour==15){
	   hour=3;	 
	 }
	 else if(hour==16){
	   hour=4;	 
	 }
	 else if(hour==17){
	   hour=5;	 
	 }
	 else if(hour==18){
	   hour=6;	 
	 }
	 else if(hour==19){
	   hour=7;	 
	 }
	 else if(hour==20){
	   hour=8;	 
	 }
	 else if(hour==21){
	   hour=9;	 
	 }
	 else if(hour==22){
	   hour=10;	 
	 }
	 else if(hour==23){
	   hour=11;	 
	 }
	 else if(hour==24){
	   hour=12;	 
	 }

cout<<hour<<":"<<minute<<":"<<sec<<endl;

 }
 }
}
void Time::changefrome0(){
  from0=true;
}
void Time::change24(){
  is_24=false;
}
void Time::add_hours(int n){
   hour+=n;

}
void Time::add_minutes(int n){
  minute+=n;
}
void Time::add_sends(int n){
   sec+=n;
}













评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值