一、題目要求
每個同學對已有的四則運算生成器進行優化,我選擇的題目是:讓程序能接受用戶輸入答案,并判斷對錯,最后給出總共對/錯的數量。
二、設計思想
首先考慮用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
新聞熱點
疑難解答