को कैसे चालू करें मैंने एक छोटा प्रोग्राम बनाया जो 15 अंकों या उससे कम की औसत गणना करता है। 15 टेक्स्ट-बॉक्स हैं, प्रत्येक का डिफ़ॉल्ट मान '0' है। कार्यक्रम सभी टाइप किए गए नंबरों का योग प्राप्त करने और इसे टेक्स्ट बॉक्स की संख्या से विभाजित करने के बारे में जानता है जो '0' वापस नहीं लौटाते हैं। लेकिन यदि उपयोगकर्ता गलती से हटा देता है तो टेक्स्ट बॉक्स में से किसी एक में '0'os' .. रन-टाइम त्रुटि।शून्य से 0
मूल रूप से मैं लिख कर इस problam हल इस "अगर बयान" 15 बार (प्रत्येक पाठ बॉक्स के लिए):
if (t1.Text == "") { tr1 = 0; }
else
{
tr1 = Double.Parse(t1.Text);
}
इस कोड को जांच करता है कि वहाँ टेक्स्ट बॉक्स में एक बात नहीं है (उदाहरण के लिए, नामित t1), अगर सही है, कार्यक्रम डबल 'tr1' दे रहा है ('t1' के साथ भ्रमित नहीं है) के लिए, का मान '0', अगर झूठे, कोड डबल देता है ' टी 1 '' टी 1 'का पाठ।
मैं इस 'अगर' 15 बार लिखना पड़ा। मैं जानना चाहता था कि क्या मैं एक ही कोड को सरणी और लूप के साथ लिख सकता हूं, और कैसे?
यहाँ पूरे कोड (वर नाम के लिए खेद वर के उपयोग के समान नहीं हैं।) है:
private void goyouidiot_Click(object sender, EventArgs e)
{
double tr1;
double tr2;
double tr3;
double tr4;
double tr5;
double tr6;
double tr7;
double tr8;
double tr9;
double tr10;
double tr11;
double tr12;
double tr13;
double tr14;
double tr15;
if (t1.Text == "") { tr1 = 0; }
else
{
tr1 = Double.Parse(t1.Text);
}
if (t2.Text == "") { tr2 = 0; }
else
{
tr2 = Double.Parse(t2.Text);
}
if (t3.Text == "") { tr3 = 0; }
else
{
tr3 = Double.Parse(t3.Text);
}
if (t4.Text == "") { tr4 = 0; }
else
{
tr4 = Double.Parse(t4.Text);
}
if (t5.Text == "") { tr5 = 0; }
else
{
tr5 = Double.Parse(t5.Text);
}
if (t6.Text == "") { tr6 = 0; }
else
{
tr6 = Double.Parse(t6.Text);
}
if (t7.Text == "") { tr7 = 0; }
else
{
tr7 = Double.Parse(t7.Text);
}
if (t8.Text == "") { tr8 = 0; }
else
{
tr8 = Double.Parse(t8.Text);
}
if (t9.Text == "") { tr9 = 0; }
else
{
tr9 = Double.Parse(t9.Text);
}
if (t10.Text == "") { tr10 = 0; }
else
{
tr10 = Double.Parse(t10.Text);
}
if (t11.Text == "") { tr11 = 0; }
else
{
tr11 = Double.Parse(t11.Text);
}
if (t12.Text == "") { tr12 = 0; }
else
{
tr12 = Double.Parse(t12.Text);
}
if (t13.Text == "") { tr13 = 0; }
else
{
tr13 = Double.Parse(t13.Text);
}
if (t14.Text == "") { tr14 = 0; }
else
{
tr14 = Double.Parse(t14.Text);
}
if (t15.Text == "") { tr15 = 0; }
else
{
tr15 = Double.Parse(t15.Text);
}
double[] sch = { tr1, tr2, tr3, tr4, tr5, tr6, tr7, tr8, tr9, tr10, tr11, tr12, tr13, tr14, tr15 };
double total = 0;
double sorf = 0;
for (int i = 0; i != 14; i++)
{
sorf = sorf + sch[i];
if (sch[i] > 0)
{ total++; }
}
double totalic = sorf/total;
string glass = totalic.ToString();
result.Text = ("your score: " + glass);
}
क्या होगा यदि उपयोगकर्ता किसी एक बॉक्स में शून्य में प्रवेश करता है? क्या आप गलत औसत की गणना नहीं करेंगे? – Shravan
यदि मैं/अन्य मामलों के बजाय मैं कोशिश/पकड़ का उपयोग करूंगा। ऐसा इसलिए है क्योंकि, उपयोगकर्ता भी टेक्स्ट इनपुट कर सकता है, जो अपवाद का कारण बनता है, जब आप Double.Parse (tx.Text) को करने का प्रयास करते हैं; – Biroka
पवित्र प्रतिलिपि/पेस्ट कोड, बैटमैन! – cHao