C++运行输出填充数问题

2025-02-24 14:47:23
推荐回答(1个)
回答1:

i 的输入位置不对
#include
#include//
using namespace std;
class Scomplex
{
private:
 int hour,minute,second;
public:
 Scomplex(int h=0,int m=0,int s=0) {
  hour=h;
  minute=m;
  second=s;
 }
 friend Scomplex operator +(Scomplex& a,Scomplex& b) {
  Scomplex temp;
  temp.hour=a.hour+b.hour;
  temp.minute=a.minute+b.minute;
  temp.second=a.second+b.second;
  if(temp.second>59) {
   temp.minute+=(temp.second/60);
   temp.second%=60;
  }
  if(temp.minute>59) {
   temp.hour+=(temp.minute/60);
   temp.minute%=60;
  }
  if(temp.hour>23) {
   temp.hour%=24;
  }
  return temp;
 }
 friend Scomplex operator -(Scomplex& a,Scomplex& b) {
  Scomplex temp;
  temp.hour=a.hour-b.hour;
  temp.minute=a.minute-b.minute;
  temp.second=a.second-b.second;
  if(temp.second<0) {
   temp.second+=60;
   temp.minute--;
  }
  if(temp.minute<0) {
   temp.minute+=60;
   temp.hour--;
  }
  while(temp.hour<0) {
   temp.hour+=24;
  }
  return temp;
 }
 Scomplex operator =(const Scomplex& b) {
  if(this==&b) {
   return *this;
  }
  hour=b.hour;
  minute=b.minute;
  second=b.second;
  return *this;
 }
 friend Scomplex operator +(Scomplex& a,int &s) {
  Scomplex temp;
  temp.hour=a.hour;
  temp.minute=a.minute;
  temp.second=a.second+s;
  if(temp.second>59) {
   temp.minute+=(temp.second/60);
   temp.second%=60;
  }
  if(temp.minute>59) {
   temp.hour+=(temp.minute/60);
   temp.minute%=60;
  }
  if(temp.hour>23) {
   temp.hour%=24;
  }
  return temp;
 }
 void show() {
  cout< }
};
int main()
{
 int i,hour,minute,second;
 cout<<"请输入时间T1:"< cin>>hour>>minute>>second;
 Scomplex T1(hour,minute,second);
 cout<<"请输入时间T2:"< cin>>hour>>minute>>second;
 cout<<"请输入整数i:"< cin>>i;
 Scomplex T2(hour,minute,second);
 Scomplex T3,T4,T5;
 T3=T1+T2;
 T4=T1-T2;
 T5=T1+i;
 cout<<"T1+T2:"< T1.show();
 cout<<"+";
 T2.show();
 cout<<"=";
 T3.show();
 cout< cout<<"T1-T2:"< T1.show();
 cout<<"-";
 T2.show();
 cout<<"=";
 T4.show();
 cout< cout<<"T1+i:"< T1.show();
 cout<<"+"< T5.show();
 cout< return 0;
}//时间对象加整数时出错,运行时输出填充数,求大神帮助