PDA

View Full Version : کلاس برای مدل سازی زمان



ferry_2020
دوشنبه 12 اسفند 1392, 00:00 صبح
با عرض سلام و احترام
من برنامه زیر را برای طراحی کلاس زمان،نوشته ام ولی متاسفانه در خط 36 زیر حرف t خط قرمز میکشد و اجرا نمیشود.
ممنون میشوم راهنمایی بفرمائید




class time
{
public :
time();
void setTime(int , int , int ) ;
void printStandard( ) ;
private :
int hour ;
int minute ;
int second ;
};
#include<iostream>
#include<time.h>
using namespace std ;
time :: time()
{
second =0 ;
minute =0 ;
hour =12 ;
}
void time :: setTime(int h,int m,int s)
{
hour=(h <24 && h >= 0) ? h : 0 ;
minute=(m <60 && m >= 0) ? m : 0 ;
second=(s <60 && s >= 0) ? s : 0 ;
}
void time :: printStandard( )
{
cout <<((hour==0 || hour==12)? 12 : hour %12)
<<":"<<(minute<10 ? "0" : " ")<<minute
<<":"<<(second<10 ? "0" : " ")<<second
<<(hour < 12 ? "Am" : "PM");
}
void main( )
{
time t ;
int h , m , s ;
cin>>h>>m>>s;
t.setTime(h,m,s);
t.printStandard( );
}

rahnema1
دوشنبه 12 اسفند 1392, 08:33 صبح
شما time.h را include کردید که در اون یک نوع داده به نام time وجود داره بهتره نام کلاستون را به یک نام دیگه مثل Mytime تغییر بدید یا اگه نیازی نیست دیگه time.h را استفاده نکنید

class Mytime
{
public :
Mytime();
void setTime(int , int , int ) ;
void printStandard( ) ;
private :
int hour ;
int minute ;
int second ;
};
#include<iostream>
#include<time.h>
using namespace std ;
Mytime :: Mytime()
{
second =0 ;
minute =0 ;
hour =12 ;
}
void Mytime :: setTime(int h,int m,int s)
{
hour=(h <24 && h >= 0) ? h : 0 ;
minute=(m <60 && m >= 0) ? m : 0 ;
second=(s <60 && s >= 0) ? s : 0 ;
}
void Mytime :: printStandard( )
{
cout <<((hour==0 || hour==12)? 12 : hour %12)
<<":"<<(minute<10 ? "0" : " ")<<minute
<<":"<<(second<10 ? "0" : " ")<<second
<<(hour < 12 ? "Am" : "PM");
}
int main( )
{
Mytime t ;
int h , m , s ;
cin>>h>>m>>s;
t.setTime(h,m,s);
t.printStandard( );
}