1. sokot
  2. برنامه‌نویسی و طراحی وب
  3. چهارشنبه, 06 آذر 1392
سلام دوستان کسی میتونه این مساله رو حل کنه ؟؟؟؟

مساله :

برنامه ای بنویسید با زبان پاسکال که بتواند تاریخ تولد یک شخص را بدست آورد ؟؟؟؟؟

اینجوری باشه به طور فرض
1_ program
2_begin
3_i:= 1372
و بقیش


ممنون میشم
مسعود ذاکری بهترین پاسخ Pending Moderation
کارشناس
3
رای
پس‌گیری
بالاخره نوشتم:o اعصابم خورد شد اینقدر شرط داشت!!:D
اگه ورودی به صورت DD/MM/YYYY باشه:(با محاسبه تمامی استثنائات از جمله تعداد روز های هر ماه و ...)
برنامه در VB6:
Private Sub Command1_Click()
Cls
Dim d, m, y As String
d = InputBox("Day";)
m = InputBox("Month";)
y = InputBox("Year";)
d = Str(d)
m = Str(m)
y = Str(y)
j = DateValue(Now)
ynow = Right(j, 4)
mnow = Left(j, 2)
dnow = Mid(j, 4, 2)
If mnow = 1 Then
mdnow = 31
ElseIf mnow = 2 Then
mdnow = 59
ElseIf mnow = 3 Then
mdnow = 90
ElseIf mnow = 4 Then
mdnow = 120
ElseIf mnow = 5 Then
mdnow = 151
ElseIf mnow = 6 Then
mdnow = 181
ElseIf mnow = 7 Then
mdnow = 212
ElseIf mnow = 8 Then
mdnow = 243
ElseIf mnow = 9 Then
mdnow = 273
ElseIf mnow = 10 Then
mdnow = 304
ElseIf mnow = 11 Then
mdnow = 334
ElseIf mnow = 12 Then
mdnow = 365
End If
mdnow = mdnow + dnow + (ynow * 365)
'Converting entry
If m = 1 Then
md = 31
ElseIf m = 2 Then
md = 59
ElseIf m = 3 Then
md = 90
ElseIf m = 4 Then
md = 120
ElseIf m = 5 Then
md = 151
ElseIf m = 6 Then
md = 181
ElseIf m = 7 Then
md = 212
ElseIf m = 8 Then
md = 243
ElseIf m = 9 Then
md = 273
ElseIf m = 10 Then
md = 304
ElseIf m = 11 Then
md = 334
ElseIf m = 12 Then
md = 365
End If
md = md + d + (y * 365)
dif = mdnow - md
'converting dif to date
yout = dif \ 365
dif2 = dif - (yout * 365)
If dif2 = 0 Then
Print "You Are " + Str(yout) + " Year Old"
Exit Sub
End If
If dif2 >= 1 And dif2 < 31 Then
Print "You Are " + Str(yout) + " Years And " + Str(dif2) + " Days Old"
Exit Sub
End If
If dif2 = 31 Then
Print "You Are " + Str(yout) + " Years And 1 Month Old"
Exit Sub
End If
If dif2 >= 32 And dif2 < 59 Then
Print "You Are " + Str(yout) + " Years And 1 Month And" + Str(dif2 - 31) + " Days Old"
Exit Sub
End If
If dif2 = 59 Then
Print "You Are " + Str(yout) + " Years And 2 Month Old"
Exit Sub
End If
If dif2 >= 60 And dif2 < 90 Then
Print "You Are " + Str(yout) + " Years And 2 Month And" + Str(dif2 - 59) + " Days Old"
Exit Sub
End If
If dif2 = 90 Then
Print "You Are " + Str(yout) + " Years And 3 Month Old"
Exit Sub
End If
If dif2 >= 91 And dif2 < 120 Then
Print "You Are " + Str(yout) + " Years And 3 Month And" + Str(dif2 - 90) + " Days Old"
Exit Sub
End If
If dif2 = 120 Then
Print "You Are " + Str(yout) + " Years And 4 Month Old"
Exit Sub
End If
If dif2 >= 121 And dif2 < 151 Then
Print "You Are " + Str(yout) + " Years And 4 Month And" + Str(dif2 - 120) + " Days Old"
Exit Sub
End If
If dif2 = 151 Then
Print "You Are " + Str(yout) + " Years And 5 Month Old"
Exit Sub
End If
If dif2 >= 152 And dif2 < 181 Then
Print "You Are " + Str(yout) + " Years And 5 Month And" + Str(dif2 - 151) + " Days Old"
Exit Sub
End If
If dif2 = 181 Then
Print "You Are " + Str(yout) + " Years And 6 Month Old"
Exit Sub
End If
If dif2 >= 182 And dif2 < 212 Then
Print "You Are " + Str(yout) + " Years And 6 Month And" + Str(dif2 - 181) + " Days Old"
Exit Sub
End If
If dif2 = 212 Then
Print "You Are " + Str(yout) + " Years And 7 Month Old"
Exit Sub
End If
If dif2 >= 213 And dif2 < 243 Then
Print "You Are " + Str(yout) + " Years And 7 Month And" + Str(dif2 - 212) + " Days Old"
Exit Sub
End If
If dif2 = 243 Then
Print "You Are " + Str(yout) + " Years And 8 Month Old"
Exit Sub
End If
If dif2 >= 244 And dif2 < 273 Then
Print "You Are " + Str(yout) + " Years And 8 Month And" + Str(dif2 - 243) + " Days Old"
Exit Sub
End If
If dif2 = 273 Then
Print "You Are " + Str(yout) + " Years And 9 Month Old"
Exit Sub
End If
If dif2 >= 274 And dif2 < 304 Then
Print "You Are " + Str(yout) + " Years And 9 Month And" + Str(dif2 - 273) + " Days Old"
Exit Sub
End If
If dif2 = 304 Then
Print "You Are " + Str(yout) + " Years And 10 Month Old"
Exit Sub
End If
If dif2 >= 305 And dif2 < 334 Then
Print "You Are " + Str(yout) + " Years And 10 Month And" + Str(dif2 - 304) + " Days Old"
Exit Sub
End If
If dif2 = 334 Then
Print "You Are " + Str(yout) + " Years And 11 Month Old"
Exit Sub
End If
If dif2 >= 335 And dif2 < 365 Then
Print "You Are " + Str(yout) + " Years And 11 Month And" + Str(dif2 - 334) + " Days Old"
Exit Sub
End If
End Sub
شرمنده چون پاسکال بلد نبودم با یه زبان دیگه نوشتم
اگرم خواستین فایل پروژه رو آپلود کنم
  • صفحه :
  • 1


هنوز پاسخی به این پست ارسال نشده است.
البته از آنجایی که هنوز در سایت لاگین نکرده‌اید، اجازه‌ی پاسخ دادن به این پست را ندارید.

ورود / ثبت‌نام

 

کاربران فعال این ماه

AMIR
Super User
مسعود یوسف‌نژاد
نازنین امامی
علی مردانی