PDA

View Full Version : سوال: سوال : تاریخ سیستم را با استفاده از تابع کتاب خانه date مقدار اولیه دهد ؟؟



Hamed_razor
چهارشنبه 07 مرداد 1394, 23:17 عصر
سلام
دوستان من سوال زیر رو جواب دادم امید وارم که درست باشه
ولی پ رو نمیدونم منظورش چیه و باید چی کار کنم ممنون میشم راهنماییم کنید




class date{
private:
int CurrentDate, Day, Month, Year;
public:
date(int);
void printddyyyy(int);
void printmmddyy(int);
void printmddyyyy(int);
string Getmonth(int);
};


date :: date(int CurrentDate){
printddyyyy(CurrentDate);
printmmddyy(CurrentDate);
printmddyyyy(CurrentDate);
}


// ddd yyyy
void date::printddyyyy(int CurrentDate){
Day = CurrentDate % 100;
Month = (( CurrentDate / 100 ) % 100) * 30;
Year = ( CurrentDate / 10000 );
Day += Month;
cout <<Day << " / " << Year << endl;
}
// mm/dd/yy
void date::printmmddyy(int CurrentDate){
Day = CurrentDate % 100;
Month = ( CurrentDate / 100 ) % 100;
Year = ( CurrentDate / 10000 ) % 1000;
cout << Month << " / " << Day << " / " << Year << endl;
}
// month/14/1999
void date::printmddyyyy(int CurrentDate){
Day = CurrentDate % 100;
Month = ( CurrentDate / 100 ) % 100;
Year = ( CurrentDate / 10000 );
cout <<Getmonth(Month) << " / " << Day << " / " << Year << endl;
}


string date::Getmonth(int month){
switch(month){
case 1:
return "January";
break;
case 2:
return "February";
break;
case 3:
return "March";
break;
case 4:
return "April";
break;
case 5:
return "May";
break;
case 6:
return "June";
break;
case 7:
return "July";
break;
case 8:
return "August";
break;
case 9:
return "September";
break;
case 10:
return "October";
break;
case 11:
return "November";
break;
case 12:
return "December";
break;
}
}


void One(){
int CurrentDate;
cout << "Please Enter Date For Example => 20150506: ";
cin >> CurrentDate;
date *dt;
dt = new date(CurrentDate);
getch();
}


کلاسی به نام date ایجاد کنید که قابلیتهای زیر را داشته باشد تاریخ را با فرمتهای زیر به خروجی ببرد
ddd yyyy
mm/dd/yy
month 14,1999
ب . سازنده هایی داشته باشد که بتواند تاریخ را به هر یک از سه شکل فوق مقدار اولیه دهد.
پ. سارنده ای بنوسید که تاریخ سیستم را با استفاده از تابع کتاب خانه date مقدار اولیه دهد.

amirtork
یک شنبه 11 مرداد 1394, 16:54 عصر
سلام.
انجام این کار احتمالا به روش های بهتری هم امکان پذیر هست، اما روشی که به ذهن من رسید، استفاده از توابع windos.h در سیستم عامل ویندوز و استفاده از ترمینال در سیستم عامل Linux هست.
برای انجام این کار در سیستم عامل ویندوز میتونید از این لینک (https://msdn.microsoft.com/en-gb/library/windows/desktop/ms724942(v=vs.85).aspx) استفاده کنید:
https://msdn.microsoft.com/en-gb/library/windows/desktop/ms724942(v=vs.85).aspx
و برای انجام این کار در سیستم عامل لینوکس هم این روش فکر میکنم مناسب باشه:
string command = "date --set "; command += _date;
system(command.c_str());
که در اینجا _date تاریخ جدیدی هست که میخواهید نمایش داده بشه.
برای اینکه برنامه در هر دو سیستم عامل جوابگو باشه، میتونید با استفاده از ماکرو ها نوع سیستم عامل رو مشخص کنید و ... .