一、设计思想

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

二、源代码

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+ ")=\n";
 36                       else richTextBox1.Text += rdm2+"=\n" ;
 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 + ")\n";
 53                         else richTextBox1.Text += (rdm2+2)+"\n";
 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 + ")=\n";
 82                             else richTextBox1.Text += "(" + rdm2 + "/" + rdm3 + ")=\n";
 83                         }
 84                         else
 85                         { //第一个操作数不是分数
 86                             if (rdm2< 0) richTextBox1.Text += "(" + rdm2 + ")=\n";
 87                             else richTextBox1.Text += rdm2+"=\n";
 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 + ")=\n";
119                                 else richTextBox1.Text += "(" + rdm2 + "/" + rdm3 + ")=\n";
120                             }
121                             else
122                             { //第一个操作数不是分数
123                                 if (rdm2 < 0) richTextBox1.Text += "(" + rdm2 + ")=\n";
124                                 else richTextBox1.Text += rdm2 + "=\n";
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 + "=\n";
156                                     }
157                                     else
158                                     {
159                                         if (rdm2 < 0) richTextBox1.Text += "(" + rdm2 + ")=\n";
160                                         else richTextBox1.Text += rdm2 + "=\n";
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 + "=\n";
185                                 }
186                                 else
187                                 {
188                                     if (rdm2 < 0) richTextBox1.Text += "(" + rdm2 + ")=\n";
189                                     else richTextBox1.Text += rdm2 + "=\n";
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 + ")\n";
199                                     else richTextBox1.Text += rdm2 + "=\n";
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 + ")\n";
208                                     else richTextBox1.Text += (rdm2 + 2) + "=\n";
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+"=\n";//确定括号外的符号
226                         else richTextBox1.Text += "/"+rdm3+"=\n";
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

编码

执行

未知

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

转载于:https://www.cnblogs.com/maximumminimum/p/4356121.html

软件工程——四则运算3(C#)相关推荐

  1. 软件工程--四则运算表达式(4)

    四则运算题目生成器 这篇文章详述了编码的过程以及对于其中部分app的实现方法机制 如果对于需求分析感兴趣,请移步软件工程–四则运算(3) 想要了解类间关系以及类模型,也请移步上述链接 这里只涉及具体的 ...

  2. 软件工程--四则运算表达式(6)

    四则运算题目生成器 这篇文章详细讲述了需求分析当中功能需求第四阶段的实现过程和内容,对需求分析阶段感兴趣,请移步软件工程–四则运算表达式 对于网页之前的分析过程,请移步功能需求和设计阶段 网页的后端实 ...

  3. 软件工程——四则运算2

    一.设计思想: 1. 为了实现题目中的要求,可以将各个功能由方法来实现,首先设计加减法运算方法. 2.加法方法:jiaFa(int range/*数值范围*/,int negative_OK/*0表示 ...

  4. 软件工程项目 四则运算表达式生成----5

    四则运算题目生成器 软件工程大作业的结对项目–四则运算题目生成器 写的是需求分析中的功能需求第四阶段的过程和内容 需求分析阶段的链接如下 软件工程项目 四则运算表达式生成----1 网页之前的功能需求 ...

  5. 软件工程随堂小作业——随机四则运算Ⅱ(C++)

    一.设计思路 设计思路已给出,此处不再赘述. 二.源代码 (1)四则运算2.cpp(源文件) 1 // 四则运算2.cpp : Defines the entry point for the cons ...

  6. 软件工程之四则运算开发感悟与收获

    做完四则运算了,心情美哒哒的!! 1.本次项目,使用的时间说长不长,说短也不短,但每天都安排自己写一小段代码,为自己制定一个目标,加快项目的进度 2.在设计过程中,对这学期学的android的基础知识 ...

  7. 软件工程启程篇章:C#和四则运算生成与运算

    0x01 :序言 I leave uncultivated today, was precisely yestoday perishes tomorrow which the person of th ...

  8. 现代软件工程讲义 个人项目和结对项目练习 四则运算

    这是构建之法 <现代软件工程>课的作业题之一. 下面的题目, 从简单的命令行处理和数据处理开始开始,让同学们逐步练习,巩固算法,学会松耦合的设计,学会PSP,源代码控制,单元测试,回归测试 ...

  9. 软件工程实验一--编程随机生成30个四则运算,算数包括100以内的整数和真分数。...

    软件工程实验一: --编程随机生成30个四则运算,算数包括100以内的整数和真分数. 实验思路:先利用rand()函数随机生成两个算数,包括100以内的整数和真分数,生成100以内的整数,用rand( ...

最新文章

  1. rest服务器性能,基于真实应用环境下的 WEB REST API 性能测试
  2. 使用ISAPI_Rewrite做实用的重定向
  3. svn自动同步更新脚本(windows)
  4. Python3.X新特性之print和exec
  5. 菜单工具栏wxPython菜单与工具栏基础示例
  6. 【转】VS2013动态库文件的创建及其使用详解
  7. Linux---之conda换源
  8. Flink查询关联Hbase输出
  9. 安全用电技能实训装置
  10. 实现一个Android锁屏App的难点总结
  11. link rel=canonical概念和用法(增加页面权重,利于排名)
  12. linux自动备份系统快照,我的 Linux 时光机——Snapper系统级自动备份工具
  13. ionic安卓打印终极解决方案,支持USB打印
  14. 什么样的游戏最适合GameFi?
  15. STM32单片机新建工程
  16. 嵌入式服务器appweb交叉编译指南
  17. Oracle(三)常用的查询语句
  18. 代码实现对麻将的听牌分析(判断什么牌能胡)
  19. 【类和对象】深入浅出类和对象
  20. 《战胜华尔街》书中的精髓:业余投资者如何根据行业特点选好股票,赚得比专业的投资者还要多?

热门文章

  1. 人工智能的定义与发展史
  2. 太阳能基站光照跟随追光逐日PLC控制系统
  3. 攻防世界 upload1 解题思路
  4. ios swift是静态语言吗
  5. java如何开发视频软件_使用JAVA编写视频播放器
  6. IOS 自动订阅以及恢复购买
  7. 一年两款新品 寒武纪的研发效率为何如此高?
  8. C#把数据库表里简体字转化为繁体字
  9. 用Hadoop分析金庸人物关系网-实验报告
  10. mysql1.2.17,17.1 MySQL主从介绍17.2 准备工作17.3 配置主17.4 配置从17.5 测试主从同步...