zoukankan      html  css  js  c++  java
  • 小学生出题小助手

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

    某小学数学作业

    话不多说,上代码。

    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):

     主界面如图:

     

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

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

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

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

    扫码关注公众号

  • 相关阅读:
    C#和Sql Server 2005中时间的最大值和最小值
    Windows Server 2008 R2 With SP1简体中文版 + 破解补丁
    Merge窗体的制作
    SqlServer2008R2卸载
    Highlighter(高亮控件的边框)
    如何删除window.old文件
    如何全屏WinForm的窗体
    验证时出错。HRESULT = '8000000A'
    ReflectionLabel(倒影控件)
    windows 2003和server 2008 取消对网站的安全检查/去除添加信任网站
  • 原文地址:https://www.cnblogs.com/pygisxss/p/13507119.html
Copyright © 2011-2022 走看看