• 结对编程项目---四则运算


     结对编程项目---四则运算

    小组成员:

    王林

    赵文博 中软1班 130201229  博客地址:http://home.cnblogs.com/u/chasi/

    基本功能:

    1) 实现一个带有用户界面的四则运算。

    2) 生成的题目不能重复。

    3) 支持负数。

    需要支持的基本设定参数

    1) 题目的数量

    2) 数值的范围

    3) 题目中最多几个运算符

    4) 题目中或运算过程中有无有分数

    5) 题目中是否有乘除法

    6) 题目中是否有括号

    7) 题目中或运算过程中有无负数

    工作分配:

    由于是2人进行合作设计代码,没有具体分工,2人同时进行

    结对的每一个人的优点和缺点:

    优点:我擅长细节工作,我的同伴赵文博擅长大体的工作设计

    缺点:我比较缺乏大体的工作设计,我的同伴赵文博则对细节发面不擅长

    结对编程的优点和缺点:

     优点:取长补短,相互学习,共同进步

     缺点:代码认知能力不足,需要上网查阅资料

    编程代码:

      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.Threading.Tasks;
      9 using System.Windows.Forms;
     10 
     11 namespace 四则运算
     12 {
     13     public partial class Form1 : Form
     14     {
     15         public Form1()
     16         {
     17             InitializeComponent();
     18         }
     19         char[] OC = { '+', '-', '*', '%', ' ' };
     20         static int GetRandomSeed()  //随机数种子,使随机数不重复
     21         {
     22             byte[] bytes = new byte[4];
     23             System.Security.Cryptography.RNGCryptoServiceProvider rng = new System.Security.Cryptography.RNGCryptoServiceProvider();
     24             rng.GetBytes(bytes);
     25             return BitConverter.ToInt32(bytes, 0);
     26         }
     27         private void btn1_Click_1(object sender, EventArgs e)
     28         {
     29             int n = Convert.ToInt32(this.number.Text);  //生成题目的数量
     30             int r = Convert.ToInt32(this.range1.Text);  //生成范围的最小值
     31             int o = Convert.ToInt32(this.range2.Text);  //生成范围的最大值
     32             int OC = Convert.ToInt32(this.chooseysf.Text.ToString());  //生成需求的运算符个数(operational character)
     33             for (int i = 0; i < n; i++) //生成n道题
     34             {
     35                 if (OC == 1)  //生成一个运算符
     36                 {
     37                     
     38                     if (choosefs.SelectedItem.ToString() == "")   //选择分数
     39                  {
     40                      Random rd = new Random(GetRandomSeed());
     41                     randnum1(r,o);  //插入随机数
     42                     input_OC();  //插入运算符
     43                     randnum1(r,o);
     44                  }
     45             else
     46             {
     47                 Random rd = new Random(GetRandomSeed());
     48                 randnum(r,o); 
     49                 input_OC();
     50                 randnum(r,o);
     51             }
     52                 }
     53                 else if (OC == 2)  // 生成两个运算符
     54                 {
     55                     Random rd = new Random(GetRandomSeed());
     56                     int t = 0;
     57                     t = rd.Next(2); 
     58                     if (t == 0)
     59                     {
     60                         if (choosefs.SelectedItem.ToString() == "")   //选择“有”分数
     61                         {
     62                             Random rd1 = new Random(GetRandomSeed());
     63                             randnum1(r, o);  
     64                             input_OC();  
     65                             randnum1(r, o);
     66                         }
     67                         else
     68                         {
     69                             Random rd1 = new Random(GetRandomSeed());
     70                             randnum(r, o); 
     71                             input_OC();
     72                             randnum(r, o);
     73                         }
     74                     }
     75                     else
     76                     {
     77 
     78                         if (choosekh.SelectedItem.ToString() == "")  //选择“有”括号
     79                         {
     80                             input_OC2_kh(r, o);
     81                         }
     82                         else
     83                         {
     84                             input_OC2(r, o);
     85                         }
     86 
     87 
     88                     }
     89                 }
     90                 else    //生成三个运算符
     91                 {
     92                     Random rd = new Random(GetRandomSeed());
     93                     int t = 0;
     94                     t = rd.Next(2); 
     95                     if (t == 0)
     96                     {
     97                         Random rd2 = new Random(GetRandomSeed());
     98                         int j = 0;
     99                         j = rd.Next(2); 
    100                         if (j == 0)
    101                         {
    102                             if (choosefs.SelectedItem.ToString() == "")   //选择“有”分数
    103                             {
    104                                 Random rd1 = new Random(GetRandomSeed());
    105                                 randnum1(r, o);  
    106                                 input_OC();  
    107                                 randnum1(r, o);
    108                             }
    109                             else
    110                             {
    111                                 Random rd1 = new Random(GetRandomSeed());
    112                                 randnum(r, o);
    113                                 input_OC();
    114                                 randnum(r, o);
    115                             }
    116                         }
    117                         else
    118                         {
    119 
    120                             if (choosekh.SelectedItem.ToString() == "")  //选择“有”括号
    121                             {
    122                                 input_OC2_kh(r, o);
    123                             }
    124                             else
    125                             {
    126                                 input_OC2(r, o);
    127                             }
    128 
    129 
    130                         }
    131                     }
    132                     else
    133                     {
    134                         if (choosekh.SelectedItem.ToString() == "")  //选择“有”括号
    135                         {
    136                             int m = 0;
    137                             m = rd.Next(3); //随机括号
    138                             if (m == 0)
    139                             {
    140                                 input_OC3_kh1(r, o);  
    141                             }
    142                             else if (m == 1)
    143                             {
    144                                 input_OC3_kh2(r, o);  
    145                             }
    146                             else
    147                             {
    148                                 input_OC3_kh3(r, o);  
    149                             }
    150                         }
    151                         else
    152                         {
    153                             input_OC3(r, o);   //选择“无”括号
    154                         }
    155                     }
    156                 }
    157                 input(" = ");
    158                 input("
    ");
    159                 input("
    ");
    160             }
    161         }
    162         public void input_OC()
    163         {
    164             input(" "); //运算符前后空格
    165             Random rd = new Random(GetRandomSeed());
    166             if (choosecc.SelectedItem.ToString() == "")
    167             {
    168                 input(OC[rd.Next(4)].ToString());//选择“有”乘除法
    169             }
    170             else
    171             {
    172                 input(OC[rd.Next(2)].ToString());//选择“无”乘除法
    173             }
    174             input(" ");
    175         }
    176         public void input_OC2(int r,int o)
    177         {
    178             if (choosefs.SelectedItem.ToString() == "")  //判断是否含分数
    179             {
    180                 randnum1(r,o);
    181                 input_OC();
    182                 randnum1(r,o);
    183                 input_OC();
    184                 randnum1(r,o);
    185             }
    186             else
    187             {
    188                 randnum(r,o);
    189                 input_OC();
    190                 randnum(r,o);
    191                 input_OC();
    192                 randnum(r,o);
    193             }
    194 
    195         }
    196         public void input_OC2_kh(int r,int o)
    197         {
    198             if (choosefs.SelectedItem.ToString() == "") //选择“有”分数
    199             {
    200                 input("(");
    201                 randnum1(r,o);
    202                 input_OC();
    203                 randnum1(r,o);
    204                 input(")");
    205                 input_OC();
    206                 randnum1(r,o);
    207             }
    208             else
    209             {
    210                 input("(");
    211                 randnum(r,o);
    212                 input_OC();
    213                 randnum(r,o);
    214                 input(")");
    215                 input_OC();
    216                 randnum(r,o);
    217             }
    218 
    219         }
    220         public void input_OC3(int r,int o)
    221         {
    222             if (choosefs.SelectedItem.ToString() == "")  //选择“有”分数
    223             {
    224                 randnum1(r,o);
    225                 input_OC();
    226                 randnum1(r,o);
    227                 input_OC();
    228                 randnum1(r,o);
    229                 input_OC();
    230                 randnum1(r,o);
    231             }
    232             else
    233             {
    234                 randnum(r,o);
    235                 input_OC();
    236                 randnum(r,o);
    237                 input_OC();
    238                 randnum(r,o);
    239                 input_OC();
    240                 randnum(r,o);
    241             }
    242 
    243         }
    244         public void input_OC3_kh1(int r,int o)  
    245         {
    246             if (choosefs.SelectedItem.ToString() == "")
    247             {
    248                 input("[");
    249                 input("(");
    250                 randnum1(r,o);
    251                 input_OC();
    252                 randnum1(r,o);
    253                 input(")");
    254                 input_OC();
    255                 randnum1(r,o);
    256                 input("]");
    257                 input_OC();
    258                 randnum1(r,o);
    259             }
    260             else
    261             {
    262                 input("[");
    263                 input("(");
    264                 randnum(r,o);
    265                 input_OC();
    266                 randnum(r,o);
    267                 input(")");
    268                 input_OC();
    269                 randnum(r,o);
    270                 input("]");
    271                 input_OC();
    272                 randnum(r,o);
    273             }
    274 
    275 
    276         }
    277         public void input_OC3_kh2(int r,int o)  
    278         {
    279             if (choosefs.SelectedItem.ToString() == "")
    280             {
    281                 randnum1(r,o);
    282                 input_OC();
    283                 input("(");
    284                 randnum1(r,o);
    285                 input_OC();
    286                 randnum1(r,o);
    287                 input(")");
    288                 input_OC();
    289                 randnum1(r,o);
    290             }
    291             else
    292             {
    293                 randnum(r,o);
    294                 input_OC();
    295                 input("(");
    296                 randnum(r,o);
    297                 input_OC();
    298                 randnum(r,o);
    299                 input(")");
    300                 input_OC();
    301                 randnum(r,o);
    302             }
    303 
    304         }
    305         public void input_OC3_kh3(int r,int o)  
    306         {
    307             if (choosefs.SelectedItem.ToString() == "")
    308             {
    309                 input("(");
    310                 randnum1(r,o);
    311                 input_OC();
    312                 randnum1(r,o);
    313                 input(")");
    314                 input_OC();
    315                 input("(");
    316                 randnum1(r,o);
    317                 input_OC();
    318                 randnum1(r,o);
    319                 input(")");
    320             }
    321             else
    322             {
    323                 input("(");
    324                 randnum(r,o);
    325                 input_OC();
    326                 randnum(r,o);
    327                 input(")");
    328                 input_OC();
    329                 input("(");
    330                 randnum(r,o);
    331                 input_OC();
    332                 randnum(r,o);
    333                 input(")");
    334             }
    335 
    336         }
    337         public void randnum(int r,int o) //对数进行随机,只能是整数
    338         {
    339             Random rd = new Random(GetRandomSeed());
    340             int num;
    341             do
    342             {
    343                 num = rd.Next(r,o + 1);
    344             } while (num == 0); // 随机整数不为 0
    345 
    346             input(num.ToString());
    347 
    348         }
    349         public void randnum1(int r,int o) //对数进行随机,可为分数
    350         {
    351             int t = 0;
    352             Random rd = new Random(GetRandomSeed());
    353             t = rd.Next(2);
    354             if (t == 0)
    355             {
    356                 int num;
    357                 do
    358                 {
    359                     num = rd.Next(r,o + 1);
    360                 } while (num == 0); // 随机整数不为 0
    361 
    362                 input(num.ToString());
    363 
    364             }
    365             else
    366             {
    367                 randnum2(r,o);
    368             }
    369 
    370         }
    371 
    372         public void randnum2(int r,int o) //随机分数
    373         {
    374             Random rd = new Random(GetRandomSeed());
    375             int x, y; 
    376             do
    377             {
    378                 x = rd.Next(r,o + 1);
    379             } while (x == 0); 
    380             do
    381             {
    382                 y = rd.Next(r,o + 1);
    383             } while (y == 0 || y == x); 
    384 
    385             if (x > y) 
    386             {
    387                 int t = x;
    388                 x = y;
    389                 y = t;
    390             }
    391             input(x.ToString());
    392             input("/");
    393             input(y.ToString());
    394 
    395 
    396         }
    397 
    398         public void input(string t)
    399         {
    400             textBox1.AppendText(t);
    401         }
    402 
    403        
    404 
    405    
    406         private void btn2_Click_1(object sender, EventArgs e)
    407         {
    408             textBox1.Clear();
    409         }
    410     }
    411 
    412 }

    窗体框架:

    运行结果截图:

    总结:

    通过这两周的学习和对程序的认知,我们对自身的编程更加有信心了,面对后边的学习我们也一定能一同完成,一同进步。

  • 相关阅读:
    冒泡排序和选择排序的根本差别在哪里?
    选择排序的3种语言实现方法(C java python)
    OVS中arp响应的流表的实现
    python 输出语句的写法
    haproxy + keepalived 实现网站高可靠
    nginx + keepalived 实现高可靠web网站
    实践:配置keepalived实现主备热备份功能
    Another app is currently holding the yum lock; waiting for it to exit 解决方法
    举例:使用XML库的方式,实现RPC通信
    openvswitch 2.7 安装过程记录 总结
  • 原文地址:https://www.cnblogs.com/Anaheim-Electronics/p/5361376.html
Copyright © 2020-2023  润新知