ورود

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



Salar Moghaddam
جمعه 25 بهمن 1392, 11:27 صبح
سلام دوستان
کد زیر رمان رو از ورودی میگیره و به دو شکل استاندارد و جهانی نشون میده،‌ولی نمی دونم مشکلش چیه
Main.cpp

#include <iostream>
#include "../class/Time.h"

using namespace std;

int main() {
int s, m, h;
cout << "Enter hour: ";
cin >> h;
cout << "Enter minute: ";
cin >> m;
cout << "Enter second: ";
cin >> s;
Time t(h, m, s);
t.displayUniversal();
t.displayStandard();
}

Time.h

#include <iomanip>
#include <iostream>

using namespace std;

#ifndef TIME_H
#define TIME_H

class Time {
public:
Time(int = 0, int = 0, int = 0);
void setHour(int);
void setMinute(int);
void setSecond(int);
int getHour();
int getMinute();
int getSecond();
void displayUniversal();
void displayStandard();
private:
int hour;
int minute;
int second;

#endif


Time.cpp

#include "Time.h"

Time::Time(int h, int m, int s) {
setHour(h);
setMinute(m);
setSecond(s);
}

void Time::setHour(int h) {
hour = (h < 24 && h >= 0) ? h : 0;
}
void Time::setMinute(int m) {
minute = (m < 60 && m >= 0) ? m : 0;
}
void Time::setSecond(int s) {
second = (s < 60 && s >= 0) ? s : 0;
}
int Time::getHour() {
return hour;
}
int Time::getMinute() {
return minute;
}
int Time::getSecond() {
return second;
}
void Time::displayUniversal() {
cout << setfill('0') << setw(2) << getHour() << ":" << setfill('0')
<< setw(2) << getMinute() << ":" << setfill('0') << setw(2)
<< getSecond() << endl;
}
void Time::displayStandard() {
cout << setfill('0') << setw(2) << (getHour() == 12) ? 12 :getHour() % 12 <<
":" << setfill('0') << setw(2) << getMinute() << ":" << setfill('0')
<< setw(2) << getSecond();
}

rahnema1
جمعه 25 بهمن 1392, 14:05 عصر
#include "../class/Time.h"
int main() {
int s, m, h;
cout << "Enter hour: ";
cin >> h;
cout << "Enter minute: ";
cin >> m;
cout << "Enter second: ";
cin >> s;
Time t(h, m, s);
t.displayUniversal();
t.displayStandard();
}
#ifndef TIME_H
#define TIME_H
#include <iomanip>
#include <iostream>
using namespace std;
class Time {
public:
Time(int=0 , int=0 , int =0);
void setHour(int);
void setMinute(int);
void setSecond(int);
int getHour();
int getMinute();
int getSecond();
void displayUniversal();
void displayStandard();
private:
int hour;
int minute;
int second;
};
#endif

#include "../class/Time.h"
Time::Time(int h, int m, int s) {
setHour(h);
setMinute(m);
setSecond(s);
}
void Time::setHour(int h) {
hour = (h < 24 && h >= 0) ? h : 0;
}
void Time::setMinute(int m) {
minute = (m < 60 && m >= 0) ? m : 0;
}
void Time::setSecond(int s) {
second = (s < 60 && s >= 0) ? s : 0;
}
int Time::getHour() {
return hour;
}
int Time::getMinute() {
return minute;
}
int Time::getSecond() {
return second;
}
void Time::displayUniversal() {
cout << setfill('0') << setw(2) << getHour() << ":" << setfill('0')
<< setw(2) << getMinute() << ":" << setfill('0') << setw(2)
<< getSecond() << endl;
}
void Time::displayStandard() {
cout << setfill('0') << setw(2) << ((getHour() == 12) ? 12 :getHour() % 12 )<<
":" << setfill('0') << setw(2) << getMinute() << ":" << setfill('0')
<< setw(2) << getSecond();
}

Salar Moghaddam
جمعه 25 بهمن 1392, 16:18 عصر
#include "../class/Time.h"
int main() {
int s, m, h;
cout << "Enter hour: ";
cin >> h;
cout << "Enter minute: ";
cin >> m;
cout << "Enter second: ";
cin >> s;
Time t(h, m, s);
t.displayUniversal();
t.displayStandard();
}
#ifndef TIME_H
#define TIME_H
#include <iomanip>
#include <iostream>
using namespace std;
class Time {
public:
Time(int=0 , int=0 , int =0);
void setHour(int);
void setMinute(int);
void setSecond(int);
int getHour();
int getMinute();
int getSecond();
void displayUniversal();
void displayStandard();
private:
int hour;
int minute;
int second;
};
#endif

#include "../class/Time.h"
Time::Time(int h, int m, int s) {
setHour(h);
setMinute(m);
setSecond(s);
}
void Time::setHour(int h) {
hour = (h < 24 && h >= 0) ? h : 0;
}
void Time::setMinute(int m) {
minute = (m < 60 && m >= 0) ? m : 0;
}
void Time::setSecond(int s) {
second = (s < 60 && s >= 0) ? s : 0;
}
int Time::getHour() {
return hour;
}
int Time::getMinute() {
return minute;
}
int Time::getSecond() {
return second;
}
void Time::displayUniversal() {
cout << setfill('0') << setw(2) << getHour() << ":" << setfill('0')
<< setw(2) << getMinute() << ":" << setfill('0') << setw(2)
<< getSecond() << endl;
}
void Time::displayStandard() {
cout << setfill('0') << setw(2) << ((getHour() == 12) ? 12 :getHour() % 12 )<<
":" << setfill('0') << setw(2) << getMinute() << ":" << setfill('0')
<< setw(2) << getSecond();
}


میشه توضیح بدید؟

rahnema1
جمعه 25 بهمن 1392, 16:34 عصر
چون داخل فایل time.h کار include iostream انجام شده بود دیگه لازم نبود توی main.cpp این کار انجام بشه نکته دیگه این جور شرط هایی که علامت سوال داره را کلا داخل یک پرانتز بذارید ((getHour() == 12) ? 12 :getHour() % 12 )