anonymous$
چهارشنبه 29 خرداد 1392, 01:36 صبح
سلام,من برنامه زیر رو(تاریخ تولد و تاریخ کنونی رو میگیره و به فرد میگه که چند سال و چند ماه و چند روزشه.بعد با توجه به نتیجه بدست اومده میگه که چند ثانیه,دقیقه و ساعت عمر کرده و در آخر اگه تاریخ تولد با تاریخ کنونی برابر باشه روز تولد رو تبریک میگه در غیر این صورت میگه چند روز تا تولدش مونده) بنا به فرض اشتباه خودم(سن برابر است با تفاضل سال,ماه,روز) در حالت های ممکن نوشتم ولی برنامه سن دقیق رو نشون نمیده.
اگه کسی یه راهنمایی در باره "الگوریتم" این عمل(محاسبه دقیق سن) بکنه ممنون میشم.(سورس نه!)
#include "stdafx.h"
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int D_B,M_B,Y_B,C_D,C_M,C_Y,X_D,X_M,X_Y,X_H,X_MI,X_S,z ,t,i,s;
cout << "Enter day of your birth : ";
cin >> D_B;
cout << endl;
cout << "Enter month of your birth : ";
cin >> M_B;
cout << endl;
cout << "Enter year of your birth : ";
cin >> Y_B;
cout << endl;
cout << "Enter day of current date : ";
cin >> C_D;
cout << endl;
cout << "Enter month of current date : ";
cin >> C_M;
cout << endl;
cout << "Enter year of current date : ";
cin >> C_Y;
cout << endl;
if(C_M >= M_B && C_D >= D_B)
{
X_D= C_D - D_B;
X_M= (C_M - M_B);
X_Y= C_Y - Y_B;
}
else if(M_B >= C_M && D_B >= C_D)
{
X_D= D_B - C_D;
X_M= M_B - C_M;
X_Y= C_Y - Y_B;
}
else if (C_M >= M_B && C_D <= D_B)
{
X_D= D_B - C_D;
X_M= C_M - M_B;
X_Y= C_Y - Y_B;
}
else if (C_M <= M_B && C_D >= D_B)
{
X_D= C_D - D_B;
X_M= M_B - C_M;
X_Y= C_Y - Y_B;
}
X_H= (X_Y * 8760)+(X_M*744)+(X_D*24);
X_MI=( X_H * 60);
X_S= X_MI * 60;
cout << "Your age is : " << X_Y << " year(s) and " << X_M << " month(s) and " << X_D << " day(s)" << endl;
cout << "you lived :" << endl;
cout << " " << setprecision(50) << X_H << " Houre(s)" << endl;
cout << " " << setprecision(50) << X_MI <<" Minute(s)" << endl;
cout << " " << setprecision(50) << X_S << " Second(s)" << endl << endl << endl;
if(C_D==D_B && C_M==M_B)
cout << "Happy Birth Day! ^_^" << "\a" ;
else if(C_M >= M_B && C_D >= D_B)
{
z=((12-(C_M - M_B ))*30)+(31-(C_D - D_B));
cout << z << " day(s) remain's to your brith day!";
cout << "\n\n" << "tedade rooz haye baghi mandeh be tavalode shoma ba hade aksar ekhtelafe 5 rooz mohasebe shod..." ;
}
else if (M_B >= C_M && D_B >= C_D)
{
t=((M_B - C_M) * 30)+(D_B - C_D);
cout << t << " day(s) remain's to your birth day!";
cout << "\n\n" << "tedade rooz haye baghi mandeh be tavalode shoma ba hade aksar ekhtelafe 5 rooz mohasebe shod..." ;
}
else if(C_M >= M_B && C_D <= D_B)
{
i=((12-(C_M - M_B)) * 30) + (D_B - C_D);
cout << i << " day(s) remain's to your birth day!";
cout << "\n\n" << "tedade rooz haye baghi mandeh be tavalode shoma ba hade aksar ekhtelafe 5 rooz mohasebe shod..." ;
}
else if(C_M <= M_B && C_D >= D_B)
{
s=((M_B - C_M )* 30) + (31-(C_D - D_B));
cout << s << " days(s) remain's to your birth day!";
cout << "\n\n" << "tedade rooz haye baghi mandeh be tavalode shoma ba hade aksar ekhtelafe 5 rooz mohasebe shod..." ;
}
cin.get();
cin.get();
}
اگه کسی یه راهنمایی در باره "الگوریتم" این عمل(محاسبه دقیق سن) بکنه ممنون میشم.(سورس نه!)
#include "stdafx.h"
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int D_B,M_B,Y_B,C_D,C_M,C_Y,X_D,X_M,X_Y,X_H,X_MI,X_S,z ,t,i,s;
cout << "Enter day of your birth : ";
cin >> D_B;
cout << endl;
cout << "Enter month of your birth : ";
cin >> M_B;
cout << endl;
cout << "Enter year of your birth : ";
cin >> Y_B;
cout << endl;
cout << "Enter day of current date : ";
cin >> C_D;
cout << endl;
cout << "Enter month of current date : ";
cin >> C_M;
cout << endl;
cout << "Enter year of current date : ";
cin >> C_Y;
cout << endl;
if(C_M >= M_B && C_D >= D_B)
{
X_D= C_D - D_B;
X_M= (C_M - M_B);
X_Y= C_Y - Y_B;
}
else if(M_B >= C_M && D_B >= C_D)
{
X_D= D_B - C_D;
X_M= M_B - C_M;
X_Y= C_Y - Y_B;
}
else if (C_M >= M_B && C_D <= D_B)
{
X_D= D_B - C_D;
X_M= C_M - M_B;
X_Y= C_Y - Y_B;
}
else if (C_M <= M_B && C_D >= D_B)
{
X_D= C_D - D_B;
X_M= M_B - C_M;
X_Y= C_Y - Y_B;
}
X_H= (X_Y * 8760)+(X_M*744)+(X_D*24);
X_MI=( X_H * 60);
X_S= X_MI * 60;
cout << "Your age is : " << X_Y << " year(s) and " << X_M << " month(s) and " << X_D << " day(s)" << endl;
cout << "you lived :" << endl;
cout << " " << setprecision(50) << X_H << " Houre(s)" << endl;
cout << " " << setprecision(50) << X_MI <<" Minute(s)" << endl;
cout << " " << setprecision(50) << X_S << " Second(s)" << endl << endl << endl;
if(C_D==D_B && C_M==M_B)
cout << "Happy Birth Day! ^_^" << "\a" ;
else if(C_M >= M_B && C_D >= D_B)
{
z=((12-(C_M - M_B ))*30)+(31-(C_D - D_B));
cout << z << " day(s) remain's to your brith day!";
cout << "\n\n" << "tedade rooz haye baghi mandeh be tavalode shoma ba hade aksar ekhtelafe 5 rooz mohasebe shod..." ;
}
else if (M_B >= C_M && D_B >= C_D)
{
t=((M_B - C_M) * 30)+(D_B - C_D);
cout << t << " day(s) remain's to your birth day!";
cout << "\n\n" << "tedade rooz haye baghi mandeh be tavalode shoma ba hade aksar ekhtelafe 5 rooz mohasebe shod..." ;
}
else if(C_M >= M_B && C_D <= D_B)
{
i=((12-(C_M - M_B)) * 30) + (D_B - C_D);
cout << i << " day(s) remain's to your birth day!";
cout << "\n\n" << "tedade rooz haye baghi mandeh be tavalode shoma ba hade aksar ekhtelafe 5 rooz mohasebe shod..." ;
}
else if(C_M <= M_B && C_D >= D_B)
{
s=((M_B - C_M )* 30) + (31-(C_D - D_B));
cout << s << " days(s) remain's to your birth day!";
cout << "\n\n" << "tedade rooz haye baghi mandeh be tavalode shoma ba hade aksar ekhtelafe 5 rooz mohasebe shod..." ;
}
cin.get();
cin.get();
}