zoukankan      html  css  js  c++  java
  • 软件工程——四则运算3(C#)

    一、设计思想

    设计两个窗体,在第一个窗体中选择功能参数,在第二个窗体中显示所出题目。

    二、源代码

    Form1.cs:

      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 sizeyunsuan
     11 {
     12     public partial class Form1 : Form
     13     {
     14           static public int max = 0;
     15           static public int min = 0;
     16           static public int num = 0;
     17           static public int select = 0;
     18 
     19         public Form1()
     20         {
     21             InitializeComponent();
     22         }
     23      141 
    142      private void button2_Click(object sender, EventArgs e)
    143      {
    144          textBox1.Text = "";
    145          textBox2.Text = "";
    146          textBox3.Text = "";
    147          radioButton1.Checked = false;
    148          radioButton2.Checked = false;
    149          radioButton3.Checked = false;
    150          radioButton4.Checked = false;
    151          radioButton5.Checked = false;
    152          radioButton6.Checked = false;
    153      }
    154 
    155      private void button1_Click(object sender, EventArgs e)
    156      {
    157          min = int.Parse(textBox1.Text);
    158          max= int.Parse(textBox3.Text);
    159          num = int.Parse(textBox2.Text);
    160          if (radioButton1.Checked == true)
    161              select = 1;
    162          else if (radioButton2.Checked == true)
    163              select =2;
    164          else if(radioButton3.Checked == true)
    165              select = 3;
    166          else if(radioButton4.Checked == true)
    167              select = 4;
    168          else if (radioButton5.Checked == true)
    169              select = 5;
    170          else if (radioButton6.Checked == true)
    171              select = 6;
    172          Form2 fm = new Form2();
    173          fm.Show();
    174 
    175      }
    176 
    177 
    178     
    179     }
    180 }

    Form2..cs:

      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 sizeyunsuan
     11 {
     12     public partial class Form2 : Form
     13     {
     14         public Form2()
     15         {
     16             InitializeComponent();
     17             int num = Form1.num;
     18             int max = Form1.max;
     19             int min = Form1.min;
     20             int select = Form1.select;
     21             int opr_symbol;
     22             Random Random1 = new Random();
     23             for(int i=0;i<num;i++)
     24             {
     25                 switch (select)
     26                 {
     27                     case 1:
     28                         {int rdm1 = Random1.Next(min, max);
     29                       int rdm2 = Random1.Next(min, max);
     30                       opr_symbol = Random1.Next(0, 2);//随机产生一个操作符
     31                       if (rdm1 < 0) richTextBox1.Text += "(" + rdm1 + "";
     32                       else richTextBox1.Text += rdm1;
     33                       if (opr_symbol ==0)  richTextBox1.Text += "+";
     34                       else richTextBox1.Text += "-";
     35                       if (rdm2< 0) richTextBox1.Text += "(" + rdm2+ ")=
    ";
     36                       else richTextBox1.Text += rdm2+"=
    " ;
     37                       break;
     38                     }
     39                     case 2:
     40                         { int rdm1 = Random1.Next(min, max);
     41                         int rdm2 = Random1.Next(min, max);
     42                         opr_symbol = Random1.Next(0, 4);//随机产生一个操作符
     43                         if (rdm1 < 0) richTextBox1.Text += "(" + rdm1 + "";
     44                         else richTextBox1.Text += rdm1;
     45                         switch(opr_symbol)
     46                         {
     47                             case 0: richTextBox1.Text +="+";break;
     48                             case 1: richTextBox1.Text +="-";break;
     49                             case 2: richTextBox1.Text +="*";break;
     50                             case 3: richTextBox1.Text +="/";break;
     51                         }
     52                         if (rdm2 < 0) richTextBox1.Text += "(" + rdm2 + "";
     53                         else richTextBox1.Text += (rdm2+2)+"
    ";
     54                         break;
     55                     }
     56                     case 3: {
     57                         int rdm1 = Random1.Next(min, max);
     58                         int rdm2 = Random1.Next(min, max);
     59                         int rdm3 = Random1.Next(2, max);
     60                         if (Random1.Next(0, 2) == 1)
     61                         {//第一个数是否是分数
     62                             rdm1 = Random1.Next(1, max);//保证分数为正数
     63                             if (rdm1 > rdm3) richTextBox1.Text += "(" + rdm3 + "/" + rdm1 + ")";
     64                             else richTextBox1.Text += "(" + rdm1 + "/" + rdm3 + ")";
     65                         }
     66                         else { //第一个操作数不是分数
     67                             if (rdm1 < 0) richTextBox1.Text += "(" + rdm1 + "";
     68                            else richTextBox1.Text += rdm1;
     69                         }
     70                         opr_symbol = Random1.Next(0, 4);//随机产生一个操作符
     71                         switch (opr_symbol)
     72                         {
     73                             case 0: richTextBox1.Text += "+"; break;
     74                             case 1: richTextBox1.Text += "-"; break;
     75                             case 2: richTextBox1.Text += "*"; break;
     76                             case 3: richTextBox1.Text += "/"; break;
     77                         }
     78                         if (Random1.Next(0, 2) == 1)
     79                         {//第二个数是否是分数
     80                             rdm2 = Random1.Next(1, max);//保证分数为正数
     81                             if (rdm2 > rdm3) richTextBox1.Text += "(" + rdm3 + "/" + rdm2 + ")=
    ";
     82                             else richTextBox1.Text += "(" + rdm2 + "/" + rdm3 + ")=
    ";
     83                         }
     84                         else
     85                         { //第一个操作数不是分数
     86                             if (rdm2< 0) richTextBox1.Text += "(" + rdm2 + ")=
    ";
     87                             else richTextBox1.Text += rdm2+"=
    ";
     88                         }
     89                         break;
     90                     }
     91                     case 4:
     92                         {
     93                             int rdm1 = Random1.Next(min, max);
     94                             int rdm2 = Random1.Next(min, max);
     95                             int rdm3 = Random1.Next(2, max);
     96                             if (Random1.Next(0, 2) == 1)
     97                             {//第一个数是否是分数
     98                                 rdm1 = Random1.Next(1, max);//保证分数为正数
     99                                 if (rdm1 < rdm3) richTextBox1.Text += "(" + rdm3 + "/" + rdm1 + ")";
    100                                 else richTextBox1.Text += "(" + rdm1 + "/" + rdm3 + ")";
    101                             }
    102                             else
    103                             { //第一个操作数不是分数
    104                                 if (rdm1 < 0) richTextBox1.Text += "(" + rdm1 + "";
    105                                 else richTextBox1.Text += rdm1;
    106                             }
    107                             opr_symbol = Random1.Next(0, 4);//随机产生一个操作符
    108                             switch (opr_symbol)
    109                             {
    110                                 case 0: richTextBox1.Text += "+"; break;
    111                                 case 1: richTextBox1.Text += "-"; break;
    112                                 case 2: richTextBox1.Text += "*"; break;
    113                                 case 3: richTextBox1.Text += "/"; break;
    114                             }
    115                             if (Random1.Next(0, 2) == 1)
    116                             {//第二个数是否是分数
    117                                 rdm2 = Random1.Next(1, max);//保证分数为正数
    118                                 if (rdm2< rdm3) richTextBox1.Text += "(" + rdm3 + "/" + rdm2 + ")=
    ";
    119                                 else richTextBox1.Text += "(" + rdm2 + "/" + rdm3 + ")=
    ";
    120                             }
    121                             else
    122                             { //第一个操作数不是分数
    123                                 if (rdm2 < 0) richTextBox1.Text += "(" + rdm2 + ")=
    ";
    124                                 else richTextBox1.Text += rdm2 + "=
    ";
    125                             }
    126                             break;
    127                         }
    128                     case 5: {
    129                         int rdm1 = Random1.Next(min, max);
    130                         int rdm2 = Random1.Next(min, max);
    131                         double rdm3;
    132                         opr_symbol = Random1.Next(0, 4);//随机产生一个操作符
    133                         switch (opr_symbol)
    134                         {
    135                             case 0:
    136                                 {
    137                                     if (Random1.Next(0, 2) == 1)//第一个操作数为小数
    138                                     {
    139                                         rdm3 = Random1.NextDouble();//产生一个随机的小数
    140                                         rdm3 += rdm1;
    141                                         rdm3 = Math.Round(rdm3, 1);
    142                                         richTextBox1.Text += rdm3;
    143                                     }
    144                                     else
    145                                     {
    146                                         if (rdm1 < 0) richTextBox1.Text += "(" + rdm1 + "";
    147                                         else richTextBox1.Text += rdm1;
    148                                     }
    149                                     richTextBox1.Text += "-";
    150                                     if (Random1.Next(0, 2) == 1)//第二个操作数为小数
    151                                     {
    152                                         rdm3 = Random1.NextDouble();//产生一个随机的小数
    153                                         rdm3 += rdm2;
    154                                         rdm3 = Math.Round(rdm3, 1);
    155                                         richTextBox1.Text += rdm3 + "=
    ";
    156                                     }
    157                                     else
    158                                     {
    159                                         if (rdm2 < 0) richTextBox1.Text += "(" + rdm2 + ")=
    ";
    160                                         else richTextBox1.Text += rdm2 + "=
    ";
    161                                     }
    162                                     break;
    163                                 }
    164                             case 1:
    165                                 {
    166                                     if (Random1.Next(0, 2) == 1)//第一个操作数为小数
    167                                     {
    168                                         rdm3 = Random1.NextDouble();//产生一个随机的小数
    169                                         rdm3 += rdm1;
    170                                         rdm3 = Math.Round(rdm3, 1);
    171                                         richTextBox1.Text += rdm3;
    172                                     }
    173                                     else
    174                                     {
    175                                         if (rdm1 < 0) richTextBox1.Text += "(" + rdm1 + "";
    176                                         else richTextBox1.Text += rdm1;
    177                                     }
    178                                 richTextBox1.Text += "-";
    179                                 if (Random1.Next(0, 2) == 1)//第二个操作数为小数
    180                                 {
    181                                     rdm3 = Random1.NextDouble();//产生一个随机的小数
    182                                     rdm3 += rdm2;
    183                                     rdm3 = Math.Round(rdm3, 1);
    184                                     richTextBox1.Text += rdm3 + "=
    ";
    185                                 }
    186                                 else
    187                                 {
    188                                     if (rdm2 < 0) richTextBox1.Text += "(" + rdm2 + ")=
    ";
    189                                     else richTextBox1.Text += rdm2 + "=
    ";
    190                                 }
    191                                  break;
    192                                 }
    193                             case 2:
    194                                 {
    195                                     if (rdm1 < 0) richTextBox1.Text += "(" + rdm1 + "";
    196                                     else richTextBox1.Text += rdm1;
    197                                     richTextBox1.Text += "*";
    198                                     if (rdm2 < 0) richTextBox1.Text += "(" + rdm2 + "";
    199                                     else richTextBox1.Text += rdm2 + "=
    ";
    200                                     break;
    201                                 }
    202                             case 3:
    203                                 {
    204                                     if (rdm1 < 0) richTextBox1.Text += "(" + rdm1 + "";
    205                                     else richTextBox1.Text += rdm1;
    206                                     richTextBox1.Text += "/";
    207                                     if (rdm2 < 0) richTextBox1.Text += "(" + rdm2 + "";
    208                                     else richTextBox1.Text += (rdm2 + 2) + "=
    ";
    209                                     break;
    210                                 }
    211                         }
    212                         break;
    213                     }
    214                     case 6: {
    215                         int rdm1 = Random1.Next(min, max);
    216                         int rdm2 = Random1.Next(min, max);
    217                         int rdm3 =Random1.Next(1, max);
    218                         richTextBox1.Text += "(";
    219                         if (rdm1 < 0) richTextBox1.Text += "("+rdm1+")";//判断rdm1是否为负数
    220                         else richTextBox1.Text +=  rdm1;
    221                         if (Random1.Next(0, 2) == 1) richTextBox1.Text += "+";//确定括号内的符号
    222                         else richTextBox1.Text += "-";
    223                         if (rdm2 < 0) richTextBox1.Text += "(" + rdm2 + "))";//判断rdm2是否为负数
    224                         else richTextBox1.Text += rdm2+")";
    225                         if (Random1.Next(0, 2) == 1) richTextBox1.Text += "*"+rdm3+"=
    ";//确定括号外的符号
    226                         else richTextBox1.Text += "/"+rdm3+"=
    ";
    227                         break;
    228                     }
    229                 }
    230             }
    231         }
    232 
    233         private void Form2_Load(object sender, EventArgs e)
    234         {
    235 
    236         }
    237 
    238         private void button1_Click(object sender, EventArgs e)
    239         {
    240             this.Close();
    241         }
    242     }
    243 }

    三、运行结果截图:

    四、心得体会

      通过这次对四则运算的扩展,我学会了怎样在两个窗体之间传递参数,把变量设置为静态变量,可以被所有对象使用。这次巩固了对C#的学习,只是一些基础,以后要学的还更多。

    五、PSP0级

    项目计划总结:

    周活动总结表

    姓名:王雪青                                   日期:2015.3.21

    日期       任务

    听课

    编写程序

    阅读课本

    准备考试

     

     

    日总计

    周一

     300

     

     

     

     

     

     300

    周二

     400

     

     

     

     

     

     400

    周三

     100

     148

     

     

     

     

     248

    周四

     300

     

     

     

     

     

     300

    周五

     200

     98

     

     

     

     

     298

    周六

     

     49

     

     

     

     

     

    阶段时间和效率                                        周数(上一次周活动表的周数+1):2

    不包括上一周在内的累计时间                                                                         

    总计

     1300

     295

     

     

     

     

     1595

    平均

     1300

    295 

     

     

     

     

     1595

    最大

     1300

     295

     

     

     

     

     1595

    最小

     1300

     295

     

     

     

     

     1595

    以前各周的累计时间                                                                                    

    总计

    1100

    610

     

     

     

     

    1163

    平均

    1100

    610

    95

     

     

     

    1163

    最大

    1100

    610

    95

     

     

     

    1163

    最小

    1100

     610

    95

     

     

     

    1163 

    时间记录表:

    学生        王雪青                                            日期          2015.3.21      

    教师        王建民                                             课程           PSP          

    日期

    开始时间

    结束时间

    中断时间

    净时间

    活动

    备注

     3.18

    14:50

     17:48

     30

     148

     写程序

     

     3.20

     19:10

     21:14

     26

     98

     写程序

     

    3.21

    19:00 20:11 22 49 写程序

     

    缺陷记录表

    学生       王雪青   

    日期         2015.3.21    

    教员        王建民    

    程序号         3      

    日期

    编号

    类型

    引入阶段

    排除阶段

    修复时间

    修复缺陷

     3/18

     

     1

     

     编码

     编译

     2min

     

     描述:设置全局变量没有加static

     2

     

    编码 

    执行 

    未知

     

     描述:算法无法达到预期结果,比如无法显示结果

  • 相关阅读:
    Mysql 用户管理
    php插件名称 yum安装
    U盘模式无法引导进入pe系统
    修改 ssh 远程连接 时间
    tomcat 安装在 linux
    tomcat 配置文件 server.xml
    Linux 安装 jdk
    高可用web架构: LVS+keepalived+nginx+apache+php+eaccelerator(+nfs可选 可不选)
    Keepalived 工作原理和配置说明
    Mysql 初始化 及 密码管理
  • 原文地址:https://www.cnblogs.com/maximumminimum/p/4356121.html
Copyright © 2011-2022 走看看