首页 > 学院 > 开发设计 > 正文

四则运算生成器升级版2.0

2019-11-17 02:30:39
字体:
来源:转载
供稿:网友

四则运算生成器升级版2.0

一、题目要求

每个同学对已有的四则运算生成器进行优化,我选择的题目是:让程序能接受用户输入答案,并判断对错,最后给出总共对/错的数量。

二、设计思想

首先考虑用c#编写程序,找到一个能输出运算题目、能接收用户输入的还能反馈给用户做的对与错的控件,最后考虑选择的是datagridview控件,而且用了之后效果还是不错的,但是不进行数据库的链接,就是简单的实现这个控件的单元格的内容输入输出。

三、程序源代码

  1 using System;  2 using System.Collections.Generic;  3 using System.ComponentModel;  4 using System.Data;  5 using System.Drawing;  6 using System.Linq;  7 using System.Text;  8 using System.Windows.Forms;  9  10 namespace sizeyunsuanqi2._0 11 { 12     public partial class Form1 : Form 13     { 14  15         int shitishumu = 0; 16         int shuzhifanwei1 = 0; 17         int shuzhifanwei2 = 0; 18         int a = 0; 19         int b = 0; 20         int c = 0; 21         int addition, division = 0, subtraction1, subtraction2, multiplication, count = 0; 22         public Form1() 23         { 24             InitializeComponent(); 25         } 26  27         PRivate void button1_Click(object sender, EventArgs e) 28         { 29             shitishumu = int.Parse(textBox4.Text);//用户控制输入试题数目 30             shuzhifanwei2 = int.Parse(textBox3.Text);//用户控制输入数值范围(大) 31             shuzhifanwei1 = int.Parse(textBox2.Text);//用户控制输入数值范围(小) 32             richTextBox1.Text += "尊敬的用户您好,您的请求已经得到确认" + "/r/n"; 33             richTextBox1.Text += "您将打印 " + shitishumu + " 道题目" + "/r/n"; 34             richTextBox1.Text += "您打印试题的数值范围是: " + shuzhifanwei1 + "-" + shuzhifanwei2 + "/r/n"; 35             if (checkBox2.Checked == true) 36             { 37                 richTextBox1.Text += "运算试题的计算结果存在负数" + "/n"; 38             } 39             if (checkBox2.Checked == false) 40             { 41                 richTextBox1.Text += "运算试题的计算结果不存在负数" + "/n"; 42             } 43             if (checkBox1.Checked == true) 44             { 45                 richTextBox1.Text += "运算试题存在乘除法" + "/n"; 46             } 47             if (checkBox1.Checked == false) 48             { 49                 richTextBox1.Text += "运算试题不存在乘除法" + "/n"; 50             } 51             System.Random number = new Random(System.DateTime.Now.Millisecond); 52             int num1=0, num2=0; 53             for (int i = 0; i < shitishumu; i++) 54             { 55                 if (shuzhifanwei1 <=shuzhifanwei2) 56                 { 57                     num1 = number.Next(shuzhifanwei1, shuzhifanwei2); 58                     num2 = number.Next(shuzhifanwei1, shuzhifanwei2); 59                 } 60                 else if (shuzhifanwei1 > shuzhifanwei2) 61                 { 62                     num1 = number.Next(shuzhifanwei2, shuzhifanwei1); 63                     num2 = number.Next(shuzhifanwei2, shuzhifanwei1); 64                 } 65                 int yunsuan1 = number.Next(0, 4); 66                 int yunsuan2 = number.Next(0, 2); 67  68                 //判断条件并输出运算式 69                 if (checkBox1.Checked == true)//有乘除法 70                 { 71                     if (checkBox2.Checked == true)//减法有负数 72                     { 73                         if (yunsuan1 == 0) { dataGridView1.Rows.Add(i + 1, num1, "+", num2, "="); } 74                         else if (yunsuan1 == 1) { dataGridView1.Rows.Add(i + 1, num1, "*", num2, "="); } 75                         else if (yunsuan1 == 2) { dataGridView1.Rows.Add(i + 1, num1, "-", num2, "="); }//减法有负数 76                         else if (yunsuan1 == 3 && num2 != 0) { dataGridView1.Rows.Add(i + 1, num1, "/", num2, "="); }//除法有余数 77                     } 78                     else if (checkBox2.Checked == false)//减法没有负数 79                     { 80                         if (yunsuan1 == 0) { dataGridView1.Rows.Add(i + 1, num1, "+", num2, "="); } 81                         else if (yunsuan1 == 1) { dataGridView1.Rows.Add(i + 1, num1, "*", num2, "="); } 82                         else if (yunsuan1 == 2 && num1 > num2) { dataGridView1.Rows.Add(i + 1, num1, "-", num2, "="); }//减法没有负数 83                         else if (yunsuan1 == 2 && num1 <= num2) { dataGridView1.Rows.Add(i + 1, num2, "-", num1, "="); }//减法没有负数 84                         else if (yunsuan1 == 3 && num2 != 0) { dataGridView1.Rows.Add(i + 1, num1, "/", num2, "="); }//除法有余数 85                         else if (yunsuan1 == 3 && num2 == 0) { dataGridView1.Rows.Add(i + 1, num2, "/", num1, "="); }//除法有余数 86  87                     } 88                 } 89                 else if (checkBox1.Checked == false)//没有乘除法 90                 { 91                     if (checkBox2.Checked == true)//减法有负数 92                     { 93                         if (yunsuan2 == 0) { dataGridView1.Rows.Add(i + 1, num1, "+", num2, "="); } 94                         else if (yunsuan2 == 1) { dataGridView1.Rows.Add(i + 1, num1, "-", num2, "="); }//减法有负数 95                     } 96                     else if (checkBox2.Checked == false)//减法没有负数 97                     { 98                         if (yunsuan2 == 0) { dataGridView1.Rows.Add(i + 1, num1, "+", num2, "="); } 99                         else if (yunsuan2 == 1 && num1 > num2) { dataGridView1.Rows.Add(i + 1, num1, "-", num2, "="); }//减法没有负数100                         else if (yunsuan2 == 1 && num1 <= num2) { dataGridView1.Rows.Add(i + 1, num2, "-", num1, "="); }//减法没有负数101                     }102                 }103 104                 //dataGridView1.Rows.Add(i+1, num1, "+",num2,"=");105             }106         }107 108         private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)109         {110 111         }112 113         private void button5_Click(object sender, EventArgs e)//批改114         {115             //int a=0, b=0, c=0, addition, division=0, subtraction1,subtraction2, multiplication,count=0;116             for (int i = 0; i < shitishumu; i++)117             {118                 string x = "+";119                 string w = "-";120                 string y = "*";121                 string z = "/";122                 if (this.dataGridView1.Rows[i].Cells[1].Value.ToString() != null)123                 {124                     a = int.Parse(this.dataGridView1.Rows[i].Cells[1].Value.ToString());125                 }126                 if (this.dataGridView1.Rows[i].Cells[3].Value.ToString() != null)127                 {128                     b = int.Parse(this.dataGridView1.Rows[i].Cells[3].Value.ToString());129                 }130                 addition = a + b;131                 subtraction1 = a - b;132                 subtraction2 = b - a;133                 multiplication = a * b;134                 if (b != 0)135                 {136                     division = a / b;137                 }138                 139                 if (this.dataGridView1.Rows[i].Cells[5].Value == null)140                 {141                     this.dataGridView1.Rows[i].Cells[6].Value = "错误";142                     count = count + 1;143                 }144                 else if (this.dataGridView1.Rows[i].Cells[5].Value != null)145                 {146                     c = int.Parse(this.dataGridView1.Rows[i].Cells[5].Value.ToString());147 148                     if (x == this.dataGridView1.Rows[i].Cells[2].Value.ToString())//判断加法结果149                     {150                         if (c == addition)151                         {152                             this.dataGridView1.Rows[i].Cells[6].Value = "正确";153                         }154                         else if (c != addition)155                         {156                             this.dataGridView1.Rows[i].Cells[6].Value = "错误";157                             count = count + 1;158                         }159 160                     }161                     else if (w == this.dataGridView1.Rows[i].Cells[2].Value.ToString())//判断减法结果162                     {163                         if (c == subtraction1 || c == subtraction2)164                         {165                             this.dataGridView1.Rows[i].Cells[6].Value = "正确";166                         }167                         else if (c != subtraction1 && c != subtraction2)168
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表