一、题目要求
每个同学对已有的四则运算生成器进行优化,我选择的题目是:让程序能接受用户输入答案,并判断对错,最后给出总共对/错的数量。
二、设计思想
首先考虑用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
新闻热点
疑难解答