c#:自动出题并判分,源代码

  1. int a, b;

  2. string op;

  3. int result;

  4. Random rnd = new Random();

  5. private void btnNew_Click(object sender, System.EventArgs e)

  6. {

  7. a = rnd.Next( 9 ) + 1;

  8. b = rnd.Next( 9 ) + 1;

  9. int c = rnd.Next( 4 );

  10. switch( c )

  11. {

  12. case 0: op="+"; result=a+b; break;

  13. case 1: op="-"; result=a-b; break;

  14. case 2: op="*"; result=a*b; break;

  15. case 3: op="/"; result=a/b; break;

  16. }

  17. lblA.Text=a.ToString();

  18. lblB.Text=b.ToString();

  19. lblOp.Text=op;

  20. txtAnswer.Text="";

  21. }

  22. private void btnJudge_Click(object sender, System.EventArgs e)

  23. {

  24. string str = txtAnswer.Text;

  25. double d = double.Parse( str );

  26. string disp = "" + a + op + b+"="+ str +" ";

  27. if( d == result ) // if( Math.Abs(d-result)< 1e-3 )

  28. disp += "☆";

  29. else

  30. disp += "╳";

  31. lstDisp.Items.Add( disp );

  32. }

  33. }