الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

Date Class

مغلق
بدأه lazystudent في 12 مارس 2005 · 2 رد · 466 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

Please Can Any One Help Me To Complete This Class :( :

This Is The Headre File :

class Date {

public:

Date( int = 1, int = 1, int = 1900 );

void print( void );

void setDate( int, int, int );

void setMonth( int );

void setDay( int );

void setYear( int );

int getMonth( void );

int getDay( void );

int getYear( void );

bool isLeapYear( void );

int monthDays( void );

/* Write prototype for nextDay */

private:

int month;

int day;

int year;

};

#endif

__________________________

And Thats The Rest :

#include "date.h"

Date::Date( int m, int d, int y ) { setDate( m, d, y ); }

int Date::getDay() { return day; }

int Date::getMonth() { return month; }

int Date::getYear() { return year; }

void Date::setDay( int d )

{

if ( month == 2 && isLeapYear() )

day = ( d <= 29 && d >= 1 ) ? d : 1;

else

day = ( d <= monthDays() && d >= 1 ) ? d : 1;

}

void Date::setMonth( int m )

{

month = m <= 12 && m >= 1 ? m : 1;

}

void Date::setYear( int y )

{

year = y <= 2010 && y >= 1900 ? y : 1900;

}

void Date::setDate( int mo, int dy, int yr )

{

setMonth( mo );

setDay( dy );

setYear( yr );

}

void Date::print()

{ cout << month << '-' << day << '-' << year << '\n'; }

/* Write function nextDay here */

bool Date::isLeapYear( void )

{

if ( year % 400 == 0 || ( year % 4 == 0 && year % 100 != 0 ) )

return true;

else

return false; // not a leap year

}

int Date::monthDays( void )

{

const int days[ 12 ] = { 31, 28, 31, 30, 31, 30, 31, 31, 30,

31, 30, 31 };

return month == 2 && leapYear() ? 29 : days[ month - 1 ];

}

_________________________________________

#include "date.h"

int main()

{

const int MAXDAYS = 160;

Date d( 10, 2, 1998 );

for ( int loop = 1; loop <= MAXDAYS; ++loop ) {

d.print();

/* Write call to nextDay */ }

cout << endl;

return 0;

}

_________________________

PLease Can any One Help Me plz

#2

أخي الحبيبlazystudent هذا البرنامج طلبه الدكتور منا وقال على كيفكم تحلونه

بالهجري والا الميلادي

وقمت بحله والحمدلله بالهجري وباقي على وقت التسليم ثلاث ايام

انا إن شاء الله أبحاول ورد لك خبر لكن أنت حاول بعد

مع السلامه

#3

حسب ما موجود في الكود, كل المطلوب منك هو كتابة method اسمه nextDay

شوف, أول شي خلى هذا الـ method يزيد الـobject نفسة, فخليه يكون void

زين, هسة داخل الـ method ممكن تعمل الآتي:

زيد عداد الأيام يوم واحد, الآن قم بالتأكد من أن هذه الزيادة لا تسبب الخروج من الشهر (يعني تأكد من ان عدد أيام الشهر ليس أقل من اليوم الجدد) فإن كانت أقل, زد عداد الأشهر و ارجع عداد الأيام الى 1.

الآن تأكد من أن عداد الأشهر ليس 13, فإذا كان 13 معنى هذا أننا ذهبنا الى السنة القادمة, فأعده الى 1 و قم بزيادة عداد السنة.

هذا الموضوع مغلق.

مواضيع مشابهة