البرنامج ندخل اليه اليوم واشهر والسنه
يخرج اذا كانت السنه كبيسه ام غير كبيسه
ورقم اليوم من خلال الشهر
هنا خطا في الكود انه يخرج كل السنوات غير كبيسه
ارجو التعديل
#include <iostream>
using namespace std;
int main()
{
int x;
cout<<"enter the number of day"<<endl;
cin>>x;
int y;
cout<<"enter the number of month"<<endl;
cin>>y;
int z;
cout<<"enter the number of year"<<endl;
cin>>z;
if(z%4==0&&z%100!=0)
cout<<"the year"<<z<<"is leap year"<<endl;
else
if(x%100==0&&z%400==0)
cout<<"the year"<<z<<"is leap year"<<endl;
else
cout<<"the year"<<z<<"is not leap year"<<endl;
if(y==1)
cout<<"the day number ="<<x<<endl;
else
if(y==2)
cout<<"the day number ="<<x+30<<endl;
else
if(y==3)
cout<<"the day number ="<<x+60<<endl;
else
if(y==4)
cout<<"the day number ="<<x+90<<endl;
else
if(y==5)
cout<<"the day number ="<<x+120<<endl;
else
if(y==6)
cout<<"the day number ="<<x+150<<endl;
else
if(y==7)
cout<<"the day number ="<<x+180<<endl;
else
if(y==8)
cout<<"the day number ="<<x+210<<endl;
else
if(y==9)
cout<<"the day number ="<<x+240<<endl;
else
if(y==10)
cout<<"the day number ="<<x+270<<endl;
else
if(y==11)
cout<<"the day number ="<<x+300<<endl;
if(y==12)
cout<<"the day number ="<<x+330<<endl;
return 0;
}[ تمت الإجابة ]سؤال : السنه الكبيسه وعدد ايام السنه
الكود يظهر النتائج بشكل يتناسب مع المدخلات حيث يظهر السنة 2000 كبيسة و السنة 2001 غير كبيسة و هذا صحيح.
لم افهم الغرض من اليوم و الشهر و إليك نسخة مبسطه من الكود الخاص بك:
#include <iostream>
using namespace std;
int main()
{
int d, m, y;
cout << "enter the day: " << endl;
cin >> d;
cout << "enter the month: " << endl;
cin >> m;
cout << "enter the year: " << endl;
cin >> y;
bool is_leap = false;
if(y % 4 == 0 && y % 100 != 0)
is_leap = true;
else if (d % 100 == 0 && y % 400 == 0)
is_leap = true;
else
is_leap = false;
if (is_leap)
cout<<"the year " << y << " is a leap year." << endl;
else
cout<<"the year " << y << " is not a leap year." << endl;
if (m >= 1 && m <= 12)
{
d += (m - 1) * 30;
cout << "the day number = " << d << endl;
}
return 0;
}
و الله ولي التوفيق
مدونتي: C++ Tips and Tricks