PDA

View Full Version : نرم افزاری برای گرفتن معدل



mahdi.a.v
دوشنبه 01 آبان 1391, 19:05 عصر
سلام
میدونم این سول خیلی مبتدی هست اما اگه میشه کمکم کنید.
این برنامه ای هست که معدل اعداد رو میگیره.
البته 6 تا textbox هست که اگه اعداد کم تر از 6 تارو خواستی معدل بگیری تو textbox7 باید بنویسی
مثلا 5 تا و جمع اعدادو تقسیم بر اون میکنه.
البته این غلطه و ارور میده . نمیدونم کجاش .
.
.
.
.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim A As Single = TextBox1.Text
Dim B As Single = TextBox2.Text
Dim C As Single = TextBox3.Text
Dim D As Single = TextBox4.Text
Dim U As Single = TextBox5.Text
Dim J As Single
J = (A + B + C + D + U) / K
Label1.Text = J
If TextBox5.Text = "" Then
TextBox5.Text = 0
End If
If TextBox4.Text = "" Then
TextBox4.Text = 0
End If
If TextBox3.Text = "" Then
TextBox3.Text = 0
End If
End Sub
.
.
.
.
Public Class Form1
Public K As Single = TextBox6.Text
.
.
.
کجای این غلط هست ؟؟؟!!!!!

hafez_ka
دوشنبه 01 آبان 1391, 19:34 عصر
سلام

داداش شما برای sub button1 - کا(k) رو تعریف نکرده ای k رو به صورت پابلیک خارج از ساب گذاشتی k رو بیار داخل ساب درست می شود.

اینم برنامه معدل گیری n نمره

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim v(1000) As Byte : Dim j As Integer = 0
Dim n As Integer = InputBox("Enter Number")
For x As Integer = 0 To n - 1
v(x) = InputBox("Enter Point")
j = j + v(x)
Next
Debug.print j / n
End Sub

mohsen22
دوشنبه 01 آبان 1391, 22:12 عصر
این که توی خط 8 خطا میده!؟

hafez_ka
سه شنبه 02 آبان 1391, 16:11 عصر
مشکلی ندارد تنها خروجی رو به دیباگ vs می فرسته

mahdi.a.v
سه شنبه 02 آبان 1391, 18:22 عصر
من K رو هم تو Button1 تعریف کردم نشد!
میشه بگین این کجاش غلطه که اجرا نمیشه ؟؟؟؟

hafez_ka
سه شنبه 02 آبان 1391, 20:14 عصر
سلام
این اصلاحیه کد شماست

Dim k As Single = textbox6.text
Dim A As Single = TextBox1.Text
Dim B As Single = TextBox2.Text
Dim C As Single = TextBox3.Text
Dim D As Single = TextBox4.Text
Dim U As Single = TextBox5.Text
Dim J As Single

If TextBox5.Text = "" Then
TextBox5.Text = 0
End If
If TextBox4.Text = "" Then
TextBox4.Text = 0
End If
If TextBox3.Text = "" Then
TextBox3.Text = 0
End If
'
'
'
'
If textbox6.text = "" Then
textbox6.text = 1
End If
J = (A + B + C + D + U) / k
Label1.Text = J


اولا شرط ها باید قبل از عملیات باشه
دوما k نمی تونه هیچ وقت صفر باشه

mahdi.a.v
چهارشنبه 03 آبان 1391, 19:08 عصر
ممنون میشم اگه به این سوالم جواب بدین
آخه من تازه شروع کردمو کدی که hafez_ka از روش InputBox گذاشتنو نمیتونم بفمم :(
نمیدونم به نظر خودم که درسته !!!!
.
Dim j As Integer
Dim a As Integer = InputBox("Number")
Dim b As Integer
For b = 1 To a
b = InputBox("Point")
Next
Label1.Text = (b / a)
End Sub
.
.

البته کد ها بهم ریخت .
فکر کنم تو یه فایل text بریزی درست شه .

hafez_ka
چهارشنبه 03 آبان 1391, 20:06 عصر
سلام


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim v(1000) As Byte : Dim j As Integer = 0
Dim n As Integer = InputBox("Enter Number")
For x As Integer = 0 To n - 1
v(x) = InputBox("Enter Point")
j = j + v(x)
Next
Debug.print j / n
End Sub


این هم توضیح کلی برنامه

در خط اول ارایه ای تعریف کردم که می تونه 1000 تا نمره رو توش ذخیره کنی j هم همون مجموع کل نمرات هستش و n تعداد نمراتی که می خواهی وارد کنی

و حلقه هم هربار تکرار می شه یک نمره رو در آرایه ذخیره و جمع می کنه

در آخر برنامه هم مجموع تقسیم بر تعداد نمرات شده

جون شمارش از در اینجا از صفر شروع می شه برای همین حلقه n-1 بار تکرار می شه

mohsen22
چهارشنبه 03 آبان 1391, 21:48 عصر
خدمت شما اینم سورس دوستمون hafez_kaالبته با کمی تغییر

mahdi.a.v
پنج شنبه 04 آبان 1391, 10:42 صبح
خیلی ممنون از جواب های شما !
یه سوال!
چرا شما تو حلقه ی تکرار 1 - گذاشتید؟!