امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
تبدیل تابعی از زبان VB به C++ / C
نویسنده پیام
unknown آفلاین
تازه وارد

ارسال‌ها: 1
موضوع‌ها: 1
تاریخ عضویت: دى ۱۳۸۶

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #1
تبدیل تابعی از زبان VB به C++ / C
سلام دوستان

من یه تابع به زبان VB دارم که میخوام اونو به زبان C / C++ تبدیل کنم البته اونو با Turbo C++ باید کامپایل کنم ، اگه در این ضمینه کمک کنید ممنون میشم Wink

کار تابع به اینصورت که میاد یک عدد رو میگیره و معادل حروفی اونرو به زبان فارسی بر میگردونه مثل :
12 = دوازده Tongue

تابع به زبان VB :
کد:
Function Adad(ByVal Number As Double) As String
If Number = 0 Then
Adad = "صفر"
End If
Dim Flag As Boolean
Dim S As String
Dim I, L As Byte
Dim K(1 To 5) As Double

S = Trim(Str(Number))
L = Len(S)
If L > 15 Then
Adad = "بسيار بزرگ"
Exit Function
End If
For I = 1 To 15 - L
S = "0" & S
Next I
For I = 1 To Int((L / 3) + 0.99)
K(5 - I + 1) = Val(Mid(S, 3 * (5 - I) + 1, 3))
Next I
Flag = False
S = ""
For I = 1 To 5
If K(I) <> 0 Then
Select Case I
Case 1
S = S & Three(K(I)) & " تريليون"
Flag = True
Case 2
S = S & IIf(Flag = True, " و ", "") & Three(K(I)) & " ميليارد"
Flag = True
Case 3
S = S & IIf(Flag = True, " و ", "") & Three(K(I)) & " ميليون"
Flag = True
Case 4
S = S & IIf(Flag = True, " و ", "") & Three(K(I)) & " هزار"
Flag = True
Case 5
S = S & IIf(Flag = True, " و ", "") & Three(K(I))
End Select
End If
Next I
Adad = S
End Function


Function Three(ByVal Number As Integer) As String
Dim S As String
Dim I, L As Long
Dim h(1 To 3) As Byte
Dim Flag As Boolean
L = Len(Trim(Str(Number)))
If Number = 0 Then
Three = ""
Exit Function
End If
If Number = 100 Then
Three = "يكصد"
Exit Function
End If

If L = 2 Then h(1) = 0
If L = 1 Then
h(1) = 0
h(2) = 0
End If

For I = 1 To L
h(3 - I + 1) = Mid(Trim(Str(Number)), L - I + 1, 1)
Next I

Select Case h(1)
Case 1
S = "يكصد"
Case 2
S = "دويست"
Case 3
S = "سيصد"
Case 4
S = "چهارصد"
Case 5
S = "پانصد"
Case 6
S = "ششصد"
Case 7
S = "هفتصد"
Case 8
S = "هشتصد"
Case 9
S = "نهصد"
End Select

Select Case h(2)
Case 1
Select Case h(3)
Case 0
S = S & " و " & "ده"
Case 1
S = S & " و " & "يازده"
Case 2
S = S & " و " & "دوازده"
Case 3
S = S & " و " & "سيزده"
Case 4
S = S & " و " & "چهارده"
Case 5
S = S & " و " & "پانزده"
Case 6
S = S & " و " & "شانزده"
Case 7
S = S & " و " & "هفده"
Case 8
S = S & " و " & "هجده"
Case 9
S = S & " و " & "نوزده"
End Select

Case 2
S = S & " و " & "بيست"
Case 3
S = S & " و " & "سي"
Case 4
S = S & " و " & "چهل"
Case 5
S = S & " و " & "پنجاه"
Case 6
S = S & " و " & "شصت"
Case 7
S = S & " و " & "هفتاد"
Case 8
S = S & " و " & "هشتاد"
Case 9
S = S & " و " & "نود"
End Select

If h(2) <> 1 Then
Select Case h(3)
Case 1
S = S & " و " & "يك"
Case 2
S = S & " و " & "دو"
Case 3
S = S & " و " & "سه"
Case 4
S = S & " و " & "چهار"
Case 5
S = S & " و " & "پنج"
Case 6
S = S & " و " & "شش"
Case 7
S = S & " و " & "هفت"
Case 8
S = S & " و " & "هشت"
Case 9
S = S & " و " & "نه"
End Select
End If
S = IIf(L < 3, Right(S, Len(S) - 3), S)
Three = S
End Function
البته این تابع برای اساتید فکر نکنم پیچیده باشه بنابراین اگه تبدیل کردین و یا خودتون یک سورس بدید که همین کارو انجام بده که یک دنیا ممنون میشم Heart چون فوری هستش !!!

منتظر پاسخهاتون هستم ...
۰۳-دى-۱۳۸۶, ۲۱:۴۸:۴۷
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  آموزش مبتدي تا پيشرفته زبان C++ - C dreamvbfox 46 136,868 ۱۲-آذر-۱۳۹۹, ۱۷:۴۶:۱۴
آخرین ارسال: mona_alizade
  [پروژه] الگوریتم زمانبندی RR به زبان C همراه سورس کد Ghoghnus 2 1,482 ۰۳-بهمن-۱۳۹۸, ۱۴:۲۷:۵۷
آخرین ارسال: Ghoghnus
Question درخواست برنامه ای به زبان ++C saeidengman 11 15,555 ۰۵-تير-۱۳۹۶, ۱۱:۴۷:۰۱
آخرین ارسال: alivolley
  تبدیل کد بسکام به کدویزن cloner006 7 7,089 ۰۳-آذر-۱۳۹۵, ۰۴:۱۸:۰۱
آخرین ارسال: eny.m
  ارتباط دو زبان c و ++C و ایجاد آبجکت از کلاس در C salehjg 3 3,742 ۲۴-اردیبهشت-۱۳۹۵, ۱۶:۰۸:۱۷
آخرین ارسال: salehjg
Question تبدیل infix به postfix به وسیله لیست پیوندی zohreh.ma 3 3,813 ۱۳-اردیبهشت-۱۳۹۵, ۱۵:۱۷:۵۶
آخرین ارسال: hartan
  کتاب فارسی اموزش زبان C lord_viper 12 33,520 ۱۹-اسفند-۱۳۹۳, ۰۰:۰۲:۰۵
آخرین ارسال: vigraz
  [سوال] تبدیل دسیمال 24 بیت به باینری a.mehran 1 2,116 ۲۳-دى-۱۳۹۳, ۱۶:۳۷:۳۶
آخرین ارسال: NO DONGLE
Question [سوال] تبدیل نوع متغیر (float به unsigned char) در زبان سی PRO 3 7,754 ۰۹-مرداد-۱۳۹۲, ۲۰:۱۶:۰۰
آخرین ارسال: PRO
  تبدیل c به اسمبلی فروم باز 9 15,186 ۲۵-خرداد-۱۳۹۲, ۱۵:۱۴:۴۶
آخرین ارسال: cinapa

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 2 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS