2017-10-05 6 views
-2

以下は "Addition Tutor"というプログラムのコードです。プログラムは2つの乱数を生成し、両方の乱数の加算にユーザーが応答するように要求します。問題は、質問に正しく答えるたびに、メッセージボックスがelseアクションを返すことです(「間違っています」)。私のプログラムの問題は何ですか?答えを簡単にしてください、私のプログラミングの知識と用語は非常に限られています。あなたの助けが大変ありがとう!追加チュータプログラムが正しく動作しません***説明を読んでください***

namespace Addition_Tutor 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 

      //Create a random object. 
      Random rand = new Random(); 
      { 
       //Declare an Integer 
       int number1; 

       //Generate a random integer and assign it to number1 
       number1 = rand.Next(400) + 100; 

       //Send random number to numberlabel1 
       numberLabel1.Text = Convert.ToString(number1); 
      } 
      { 
       //Declare an Int Variable 
       int number2; 

       //Generate a random integer and assign it to number2 
       number2 = rand.Next(400) + 100; 

       //Send random number to numberlabel2 
       numberLabel2.Text = Convert.ToString(number2); 
      } 
     } 

     private void checkButton_Click(object sender, EventArgs e) 
     { 

       //declare an Int Variable for Correct Answer 
       int correctAnswer; 
       correctAnswer = Convert.ToInt32("" + numberLabel1.Text + numberLabel2.Text); 

      //check to see if the userAnswer and correctAnswer match. 
      int userAnswer; 
      userAnswer = Convert.ToInt32(answerTextBox.Text); 

      if (userAnswer == correctAnswer) 
      { 
       MessageBox.Show("Your Answer is Correct"); 
      } 
      else 
      { 
       MessageBox.Show("Your Answer is Incorrect"); 
      } 
     } 
     private void clearButton_Click(object sender, EventArgs e) 
     { 
      //clear the labels and textboxes. 
      numberLabel1.Text = ""; 
      numberLabel2.Text = ""; 
      answerTextBox.Text = ""; 
     } 

     private void exitButton_Click(object sender, EventArgs e) 
     { 
      //close the form 
      this.Close(); 
     } 
    } 
} 
+3

だから、どのくらいあなたは問題を自分で診断を持っていますか?デバッガで実行しましたか?私はあなたがそうした方法で問題を見つけられると確信しています。 (ヒント:あなたが 'Convert.ToInt32(" + "10" + "5")を返したいと思っていますか?それは15ではありません...) –

+4

(問題を診断する方法を学ぶのに費やされた時間は、何度も何度も時間を節約してくれることを願っています。 –

+0

これは私が作成した8番目のプログラムです。コードする。私がこのコードで遭遇したすべての問題は、このフォーラムの同様の問題に関する研究を通じて診断されています。 Convert.ToInt32( "+" 10 "+" 5 ")コードが別の質問から使用されました。 – Relaxsingh

答えて

0
correctAnswer = Convert.ToInt32("" + numberLabel1.Text + numberLabel2.Text); 

あなたは、2つの数値を "concatening" されています。 "1" + "2" = "12"のように。

あなたはそれらを追加する前intにそれらを解析する必要があります。

correctAnswer = int.Parse(numberLabel1.Text) + int.Parse(numberLabel2.Text); 
+0

あなたの助けをありがとう! – Relaxsingh

関連する問題