小学生出题小助手

最近也开到开学季了,一些小学生的家长给博主反映了一些困扰,要每天给孩子出题目,也是完成老师布置的作业任务。博主就花了些时间,简单的敲了些代码,还不够完善,希望有兴趣的伙伴能将它完善下或提出些好的建议。

某小学数学作业

话不多说,上代码。

1、先定义几个必要的变量

        List<string> records = new List<string>();
        Random rand = new Random();
        string s;
        int n;
        int a;
        int b;
        int c;
        int d;
        int maxn = 10;
        int recordindex = 0;//当前页码

  

2、再把作业问题解决了

 1         public void homework()
 2         {
 3             //3道三位数乘两位数计算
 4             for (int i = 0; i < n; i++)
 5             {
 6                 a = rand.Next(100, 1000);
 7                 b = rand.Next(10, 100);
 8                 c = a * b;
 9                 s = "
" + a + "×" + b + "=";
10                 label4.Text += s;
11                 label5.Text += s + c;
12             }
13             //三道三位数除以两位数计算
14             for (int i = 0; i < n; i++)
15             {
16                 int r = rand.Next(2);
17                 if (r == 0)//可能有余数
18                 {
19                     a = rand.Next(100, 1000);
20                     b = rand.Next(10, 100);
21                     c = a / b;
22                     d = a % b;
23                     s = "
" + a + "÷" + b + "=";
24                     label4.Text += s;
25                     if (d == 0)
26                         label5.Text += s + c;
27                     else
28                         label5.Text += s + c + "……" + d;
29                 }
30                 else//一定没余数
31                 {
32                     a = rand.Next(100, 1000);
33                     b = rand.Next(10, 100);
34                     d = a % b;
35                     a = a - d;
36                     d = rand.Next(3, 8);
37                     if (a < 100) { a += d * b; }
38                     c = a / b;
39                     s = "
" + a + "÷" + b + "=";
40                     label4.Text += s;
41                     label5.Text += s + c;
42                 }
43             }
44             //脱式计算
45             for (int i = 0; i < n + 1; i++)
46             {
47                 int r = rand.Next(3);
48                 if (r == 0)//乘法加法混合
49                 {
50                     a = rand.Next(100, 1000);
51                     b = rand.Next(10, 100);
52                     d = rand.Next(1, 100);
53                     c = a * b + d;
54                     s = "
" + a + "×" + b + "+" + d + "=";
55                     label4.Text += s;
56                     label5.Text += s + c;
57                 }
58                 else if (r == 1)//乘法减法混合
59                 {
60                     a = rand.Next(100, 1000);
61                     b = rand.Next(10, 100);
62                     d = rand.Next(1, 100);
63                     c = a * b - d;
64                     s = "
" + a + "×" + b + "-" + d + "=";
65                     label4.Text += s;
66                     label5.Text += s + c;
67                 }
68                 else if (r == 2)//除法加法混合
69                 {
70                     a = rand.Next(100, 1000);
71                     b = rand.Next(10, 100);
72                     d = a % b;
73                     a = a - d;
74                     d = rand.Next(3, 8);
75                     if (a < 100) { a += d * b; }
76                     d = rand.Next(10, 100);
77                     c = a / b + d;
78                     s = "
" + a + "÷" + b +"+"+d+ "=";
79                     label4.Text += s;
80                     label5.Text += s + c;
81                 }
82             }
83         }
homework

3、接下来可以让他功能更强大点,可以适应加减法、乘除法、混合运算的练习

  1         private void button1_Click(object sender, EventArgs e)
  2         {
  3             n = Convert.ToInt16(comboBox1.Text);
  4             if (comboBox3.Text == "10以内") { maxn = 10; }
  5             else if (comboBox3.Text == "100以内") { maxn = 100; }
  6             else if (comboBox3.Text == "1000以内") { maxn = 1000; }
  7             label4.Text = "题目:

";
  8             label5.Text = "答案:

";
  9 
 10             #region
 11             if (comboBox2.Text == "加减法")
 12             {
 13                 if (comboBox4.Text == "仅加法")
 14                 {
 15                     for (int i = 0; i < n; i++)
 16                     {
 17                         a = rand.Next(maxn / 10, maxn);
 18                         b = rand.Next(maxn / 10, maxn);
 19                         c = a + b;
 20                         s = "
" + a + "+" + b + "=";
 21                         label4.Text += s;
 22                         label5.Text += s + c;
 23                     }
 24                 }
 25                 else if (comboBox4.Text == "仅减法")
 26                 {
 27                     for (int i = 0; i < n; i++)
 28                     {
 29                         a = rand.Next(maxn / 10, maxn);
 30                         b = rand.Next(maxn / 10, a);
 31                         c = a - b;
 32                         s = "
" + a + "-" + b + "=";
 33                         label4.Text += s;
 34                         label5.Text += s + c;
 35                     }
 36                 }
 37                 else if (comboBox4.Text == "加减夹杂")
 38                 {
 39                     for (int i = 0; i < n; i++)
 40                     {
 41                         int r = rand.Next(2);
 42                         if (r == 0)
 43                         {
 44                             a = rand.Next(maxn / 10, maxn);
 45                             b = rand.Next(maxn / 10, maxn);
 46                             c = a + b;
 47                             s = "
" + a + "+" + b + "=";
 48                             label4.Text += s;
 49                             label5.Text += s + c;
 50                         }
 51                         else
 52                         {
 53                             a = rand.Next(maxn / 10, maxn);
 54                             b = rand.Next(maxn / 10, maxn);
 55                             c = a + b;
 56                             s = "
" + c + "-" + b + "=";
 57                             label4.Text += s;
 58                             label5.Text += s + a;
 59                         }
 60                     }
 61                 }
 62 
 63             }
 64             if (comboBox2.Text == "乘除法")
 65             {
 66                 if (comboBox4.Text == "仅乘法")
 67                 {
 68                     for (int i = 0; i < n; i++)
 69                     {
 70                         a = rand.Next(maxn / 10, maxn);
 71                         b = rand.Next(maxn / 10, maxn);
 72                         c = a * b;
 73                         s = "
" + a + "×" + b + "=";
 74                         label4.Text += s;
 75                         label5.Text += s + c;
 76                     }
 77                 }
 78                 else if (comboBox4.Text == "仅除法")
 79                 {
 80                     for (int i = 0; i < n; i++)
 81                     {
 82                         a = rand.Next(maxn / 10, maxn);
 83                         b = rand.Next(maxn / 10, maxn);
 84                         c = a * b;
 85                         s = "
" + c + "÷" + b + "=";
 86                         label4.Text += s;
 87                         label5.Text += s + a;
 88                     }
 89                 }
 90                 else if (comboBox4.Text == "乘除夹杂")
 91                 {
 92                     int r = 0;
 93                     for (int i = 0; i < n; i++)
 94                     {
 95                         r = rand.Next(3);
 96                         if (r == 0)//可能有余数
 97                         {
 98                             a = rand.Next(maxn / 10, maxn);
 99                             b = rand.Next(maxn / 10, a);
100                             c = a / b;
101                             d = a % b;
102                             s = "
" + a + "÷" + b + "=";
103                             label4.Text += s;
104                             if (d == 0)
105                                 label5.Text += s + c;
106                             else
107                                 label5.Text += s + c + "……" + d;
108                         }
109                         else if(r==1)//一定没余数
110                         {
111                             a = rand.Next(maxn / 10, maxn);
112                             b = rand.Next(maxn / 10, maxn);
113                             d = a % b;
114                             a = a - d;
115                             d = rand.Next(3, 8);
116                             if (a < maxn / 10) { a += d * b; }
117                             c = a / b;
118                             s = "
" + a + "÷" + b + "=";
119                             label4.Text += s;
120                             label5.Text += s + c;
121                         }
122                         else if (r == 2)
123                         {
124                             a = rand.Next(maxn / 10, maxn);
125                             b = rand.Next(maxn / 10, maxn);
126                             c = a * b;
127                             s = "
" + a + "×" + b + "=";
128                             label4.Text += s;
129                             label5.Text += s + c;
130                         }
131                     }
132                 }
133 
134             }
135             if (comboBox2.Text == "混合运算")
136             {
137                 if (comboBox4.Text == "加减混合")
138                 {
139                     for (int i = 0; i < n; i++)
140                     {
141                         a = rand.Next(maxn / 10, maxn);
142                         b = rand.Next(maxn / 10, maxn);
143                         d = rand.Next(1, maxn);
144                         c = a + b + d;
145                         s = "
" + a + "+" + b + "-" + c + "=";
146                         label4.Text += s;
147                         label5.Text += s + d;
148                     }
149                 }
150                 else if (comboBox4.Text == "乘除混合")
151                 {
152                     for (int i = 0; i < n; i++)
153                     {
154                         a = rand.Next(maxn / 10, maxn);
155                         b = rand.Next(maxn / 10, maxn);
156                         d = rand.Next(1, maxn);
157                         c = a * b * d;
158                         s = "
" + c + "÷" + "("+a + "×" + b +")"+ "=";
159                         label4.Text += s;
160                         label5.Text += s + d;
161                     }
162                 }
163                 else if (comboBox4.Text == "加减乘除混合")
164                 {
165                     for (int i = 0; i < n; i++)
166                     {
167                         int r = rand.Next(2);
168                         if (r == 0)//乘法加法混合
169                         {
170                             a = rand.Next(maxn / 10, maxn);
171                             b = rand.Next(maxn / 10, maxn);
172                             d = rand.Next(1, maxn);
173                             c = a * b + d;
174                             s = "
" + a + "×" + b + "+" + d + "=";
175                             label4.Text += s;
176                             label5.Text += s + c;
177                         }
178                         else if (r == 1)//乘法减法混合
179                         {
180                             a = rand.Next(maxn / 10, maxn);
181                             b = rand.Next(maxn / 10, maxn);
182                             d = rand.Next(1, maxn);
183                             c = a * b - d;
184                             s = "
" + a + "×" + b + "-" + d + "=";
185                             label4.Text += s;
186                             label5.Text += s + c;
187                         }
188                     }
189                 }
190             }
191             #endregion
192 
193 
194             if (checkBox1.Checked == false)
195             {
196                 label5.Hide();
197             }
198             records.Add(label5.Text);
199             recordindex += 1;
200         }
button1_click

4、最后设置下图标(icon),打包就ok了。

推荐下载图标的地址https://www.iconfont.cn/

还是很好用的。

至于icon图标的转换,博主不做推荐,网上也很多。

最后效果如下(极其简陋hahaha):

 主界面如图:

 

点击作业按钮出来每天的作业题目

设置参数,点击出题按钮,显示相应的题目,也可以翻页查看记录,默认不显示答案。

博主做的很简陋,提供下载链接,希望有兴趣的小伙伴可以美化完善一下。

关注公众号,回复“出题小助手”,可获得所有源码。 

扫码关注公众号

原文地址:https://www.cnblogs.com/pygisxss/p/13507119.html