PDA

View Full Version : سوال: محاسبه تراز نمره



mohammad jamalian
پنج شنبه 27 شهریور 1393, 14:11 عصر
با سلام
من به صورت مثال چهار نمره:100و50و75و80 رو دارم می خواهم برای هر کدام تراز راحساب کنم.چگونه این کار را می توانم انجام دهم؟
راستی من این نمره ها رو از دیتابیس sql می گیرم.
خواهشا کمک کنید.

alireza_g698
پنج شنبه 27 شهریور 1393, 14:41 عصر
با سلام
من به صورت مثال چهار نمره:100و50و75و80 رو دارم می خواهم برای هر کدام تراز راحساب کنم.چگونه این کار را می توانم انجام دهم؟
راستی من این نمره ها رو از دیتابیس sql می گیرم.
خواهشا کمک کنید.

با سلام.باید از فرمول های آماری استفاده کنید (باید واریانیس بگیرین و......و.....)

mohammad jamalian
پنج شنبه 27 شهریور 1393, 15:17 عصر
با سلام.باید از فرمول های آماری استفاده کنید (باید واریانیس بگیرین و......و.....)
راحل ساده تری نداره؟
اگر امکانش هست کد همون راه بالا که گفتید را بگذارید.

alireza_g698
پنج شنبه 27 شهریور 1393, 19:30 عصر
راحل ساده تری نداره؟
اگر امکانش هست کد همون راه بالا که گفتید را بگذارید.

سلام
نمیدون خود سی شارپ بتونه تراز بگیره یا نه.
باید فرمول های ریاضیش را بلد باشین.من یادم رفته

mohammad jamalian
پنج شنبه 27 شهریور 1393, 20:05 عصر
خود سی شارپ که باید کتابخانش رو داشته باشه.
من نمی دونم کتابخونش چیه؟

fakhravari
جمعه 28 شهریور 1393, 13:13 عصر
شما الگریتم توضیح بده دوستان با کد توضیح میدن

mohammad jamalian
جمعه 28 شهریور 1393, 19:22 عصر
سلام
دوستان کسی می دونه مشکل این کد چیه برخی ترازها کم و زیاد میشه:


double sum = 0;
for (int i = 0; i < dataGridViewX1.Rows.Count; i++)
{
sum += Convert.ToDouble(dataGridViewX1.Rows[i].Cells[4].Value.ToString());
}
sum = sum / dataGridViewX1.Rows.Count;
double s = 0;
for (int i = 0; i < dataGridViewX1.Rows.Count; i++)
{
s += Math.Sqrt(Math.Pow((Convert.ToDouble(dataGridViewX 1.Rows[i].Cells[4].Value.ToString()) - sum), 2) / (dataGridViewX1.Rows.Count));
}

for (int i = 0; i < dataGridViewX1.Rows.Count; i++)
{
o = (sum + Convert.ToDouble(dataGridViewX1.Rows[i].Cells[4].Value.ToString())) / (s);
double taraz = 0;
taraz = 1000 * o + 5000;
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=anser1;Integrated Security=True");
SqlCommand com = new SqlCommand("update tblan set taraz = @taraz where id =" + i, con);
con.Open();
com.Parameters.AddWithValue("@taraz", taraz);
com.ExecuteNonQuery();
con.Close();
this.tblanTableAdapter.Fill(this.anser1DataSet3.tb lan);
}

alireza_g698
جمعه 28 شهریور 1393, 21:47 عصر
سلام
دوستان کسی می دونه مشکل این کد چیه برخی ترازها کم و زیاد میشه:


double sum = 0;
for (int i = 0; i < dataGridViewX1.Rows.Count; i++)
{
sum += Convert.ToDouble(dataGridViewX1.Rows[i].Cells[4].Value.ToString());
}
sum = sum / dataGridViewX1.Rows.Count;
double s = 0;
for (int i = 0; i < dataGridViewX1.Rows.Count; i++)
{
s += Math.Sqrt(Math.Pow((Convert.ToDouble(dataGridViewX 1.Rows[i].Cells[4].Value.ToString()) - sum), 2) / (dataGridViewX1.Rows.Count));
}

for (int i = 0; i < dataGridViewX1.Rows.Count; i++)
{
o = (sum + Convert.ToDouble(dataGridViewX1.Rows[i].Cells[4].Value.ToString())) / (s);
double taraz = 0;
taraz = 1000 * o + 5000;
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=anser1;Integrated Security=True");
SqlCommand com = new SqlCommand("update tblan set taraz = @taraz where id =" + i, con);
con.Open();
com.Parameters.AddWithValue("@taraz", taraz);
com.ExecuteNonQuery();
con.Close();
this.tblanTableAdapter.Fill(this.anser1DataSet3.tb lan);
}


سلام
فک کنم چند جا باید کستینگ انجام میدادین

mohammad jamalian
جمعه 28 شهریور 1393, 23:50 عصر
سلام
فک کنم چند جا باید کستینگ انجام میدادین
سلام
ببخشید من متوجه منظورتون نشدم.یعنی چی؟

mohammad jamalian
شنبه 29 شهریور 1393, 12:37 عصر
من وقتی این کد رو می زنم تراز ها بالا و پایین میشه:
خواهشا کمک کنید


double sum = 0;
for (int i = 0; i < dataGridViewX1.Rows.Count; i++)
{
sum += Convert.ToDouble(dataGridViewX1.Rows[i].Cells[4].Value.ToString());
}
sum = sum / dataGridViewX1.Rows.Count;
label9.Text = sum.ToString();
double s = 0;
for (int i = 0; i < dataGridViewX1.Rows.Count; i++)
{
s += Math.Sqrt(Math.Pow((Convert.ToDouble(dataGridViewX 1.Rows[i].Cells[4].Value.ToString()) - sum), 2) / (dataGridViewX1.Rows.Count));
}

for (int i = 0; i < dataGridViewX1.Rows.Count; i++)
{


o = (sum + Convert.ToDouble(dataGridViewX1.Rows[i].Cells[4].Value.ToString())) / (s);


double taraz = 0;
taraz = 1000 * o + 5000;
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=anser1;Integrated Security=True");
SqlCommand com = new SqlCommand("update tblan set taraz = @taraz where id =" + i, con);
con.Open();
com.Parameters.AddWithValue("@taraz", taraz);
com.ExecuteNonQuery();
con.Close();
this.tblanTableAdapter.Fill(this.anser1DataSet3.tb lan);
}

خواهشا کمک کنید.

mohammad jamalian
پنج شنبه 11 تیر 1394, 00:11 صبح
من کد رو این طوری نوشتم درست در اومد:


double sum = 0;
for (int i = 0; i < dataGridViewX1.Rows.Count; i++)
{
sum += Convert.ToDouble(dataGridViewX1.Rows[i].Cells[4].Value.ToString());
}
sum = sum / dataGridViewX1.Rows.Count;
label14.Text = sum.ToString();
double s = 0;
for (int i = 0; i < dataGridViewX1.Rows.Count; i++)
{
s += (Math.Pow((Convert.ToDouble(dataGridViewX1.Rows[i].Cells[4].Value.ToString()) - sum), 2));
}
s = s / dataGridViewX1.Rows.Count;
s = Math.Pow(s, 0.5);
SqlCommand com1 = new SqlCommand("update mi set m=@m", con);
con.Open();
com1.Parameters.AddWithValue("@m", label14.Text);
com1.ExecuteNonQuery();
con.Close();
//double o;
for (int i = 0; i < dataGridViewX1.Rows.Count; i++)
{
o = Convert.ToDouble(dataGridViewX1.Rows[i].Cells[4].Value.ToString()) - sum;
o = o / s;
int taraz = 0;
taraz = Convert.ToInt32(2000 * o + 5000);

SqlCommand com = new SqlCommand("update tblan set taraz = @taraz where name =@name", con);
con.Open();
com.Parameters.AddWithValue("@taraz", taraz);
com.Parameters.AddWithValue("@name", dataGridViewX1.Rows[i].Cells[0].Value.ToString());
com.ExecuteNonQuery();
con.Close();
this.tblanTableAdapter.Fill(this.anser1DataSet3.tb lan);
}