C++编程出现点问题 求解答!!
下面是我编的输出时间的程序。、可用12小时格式输出时它还是用24小时格式输出的,为什么??貌似 hour 的值没变?!!题目要求在主程序中定义类的对象,通过对象指针或引用调用成员函数,该怎么弄?#include<iostream.h>
class time{
public:
void settime(int,int,int);
void sethour(int);
void setminute(int);
void setsecond(int);
int gethour();
int getminute();
int getsecond();
void printuniversal();
void printstandard();
private:
int hour;
int minute;
int second;
};
void time::settime(int h,int m,int s)
{ hour=h;minute=m;second=s;}
void time::sethour(int)
{ 0<<hour&&hour<<23;}
void time::setminute(int)
{ 0<<minute&&minute<<59;}
void time::setsecond(int)
{ 0<<second&&second<<59;}
int time::gethour()
{ if(hour>>13&&hour<<23){hour=hour-11;}
return hour;}
int time::getminute()
{ return minute;}
int time::getsecond()
{ return second;}
void time::printuniversal()
{ cout<<"24小时格式"<<endl;
cout<<hour<<":"<<minute<<":"<<second<<endl;}
void time::printstandard()
{ cout<<"12小时格式"<<endl;
if(hour>>13&&hour<<24)
{
cout<<hour<<":"<<minute<<":"<<second<<"(PM)"<<endl;}
else cout<<hour<<":"<<minute<<":"<<second<<"(AM)"<<endl;
}
int main()
{ time set;
set.settime(15,35,46);
set.printuniversal();
set.printstandard();
return 0;
}
[ 本帖最后由 YZAM 于 2010-4-17 20:37 编辑 ]