2016-03-25 14 views
0

さて、私のコードでチェックボックスとラジオボックスを使用するというアイデアを得るには、ちょっとしたコードを書いてください。ここまで私が今までに得たものが(底部に)あります。だから、私はちょうど文の文字列を設定し、すべての3がチェックされているかどうかを見ることから始めることができると思った。そうでなければ最初のものがチェックされていないかどうかチェックする。 1つのチェックボックスをチェックするだけの仕事はありますが、3つすべてチェックして最終計算を表示します。だから私の場合は、私は3チェックした場合、それはそれがすべてを追加した場合に$ 51,600の代わりに$ 50,100を表示するだけ、ボルト+ NonExplodingの計算を表示します。何をすべきかを簡単に知ることができるので、最後にチェックされた計算に行くのではなく、3つすべてがチェックされていることに気づくでしょうか?助けてくれてありがとう、非常に感謝します。それだけで、最終的なものにはないだろう - どのようなあなたのコードはif文のすべてを実行しているやっているC#複数のチェックボックスとラジオチェックボックスがあり、そのチェックに基づいて計算を行っていますか?

 private void button_Calculate_Click(object sender, EventArgs e) 
    { 
     //Validating options 
     if (radioButton_ChevVolt.Checked || radioButton_FordPinto.Checked) 
     { 
      //no code needed 
     } 
     else 
     { 
      MessageBox.Show("Please Choose One of the Vehicles"); 
      return; 
     } 
     //Processing Input 
     double SunRoof = 1000; 
     double DVD = 500; 
     double NonExploding = 100; 
     double Volt = 50000; 
     double Pinto = 1000; 
     double TotalCost = 0; 

     if (radioButton_ChevVolt.Checked) 
        { 
         TotalCost = Volt; 
         textBox_TotalCost.Text = TotalCost.ToString(); 
        { 
        if (checkBox_SunRoof.Checked || checkBox_DVD.Checked || checkBox_NonExploding.Checked) 
        { 
         TotalCost = Volt + DVD + SunRoof + NonExploding; 
         textBox_TotalCost.Text = TotalCost.ToString(); 
        } 
        if (checkBox_SunRoof.Checked) 
        { 
         TotalCost = Volt + SunRoof; 
         textBox_TotalCost.Text = TotalCost.ToString(); 
        } 
        if (checkBox_DVD.Checked) 
        { 
         TotalCost = Volt + DVD; 
         textBox_TotalCost.Text = TotalCost.ToString(); 
        } 
        if (checkBox_NonExploding.Checked) 
        { 
         TotalCost = Volt + NonExploding; 
         textBox_TotalCost.Text = TotalCost.ToString(); 
        } 


      } 
     } 



    } 
} 

}

+0

私が追加したいのは、私がチェックボックスの残りの部分をやっていない理由は、最初に気づいた3つのアイデアを得ることができなかったからです。その後、私はVolt + DVD + SunRoofなどで追加します。 –

答えて

1

。最終的なものが最後になっているように見えます。

ここでは簡単修正です:

 if (checkBox_SunRoof.Checked && checkBox_DVD.Checked && checkBox_NonExploding.Checked) 
     { 
      TotalCost = Volt + DVD + SunRoof + NonExploding; 
      textBox_TotalCost.Text = TotalCost.ToString(); 
     } 
     else if (checkBox_SunRoof.Checked) 
     { 
      TotalCost = Volt + SunRoof; 
      textBox_TotalCost.Text = TotalCost.ToString(); 
     } 
     else if (checkBox_DVD.Checked) 
     { 
      TotalCost = Volt + DVD; 
      textBox_TotalCost.Text = TotalCost.ToString(); 
     } 
     else if (checkBox_NonExploding.Checked) 
     { 
      TotalCost = Volt + NonExploding; 
      textBox_TotalCost.Text = TotalCost.ToString(); 
     } 

はまた、初期||は、この作業をするために&&なければならないことを私には思えます。

また、この計算を三項演算子?:を使用して調べることになります。あなたのコードは次のようになります:

TotalCost += radioButton_ChevVolt.Checked ? Volt : 0.0; 
TotalCost += checkBox_SunRoof.Checked ? SunRoof : 0.0; 
TotalCost += checkBox_DVD.Checked ? DVD : 0.0; 
TotalCost += checkBox_NonExploding.Checked ? NonExploding : 0.0; 
textBox_TotalCost.Text = TotalCost.ToString(); 

最後にもう1つのヒントです。科学的価値のために設計されているため、doubleを通貨の金額に使用しないでください。代わりにdecimalを使用してください。

+0

よろしく!ヒントをありがとう、それは働いた、私はより多くの問題を抱えている場合私は返信しますが、私はそう思わない。 –

関連する問題