博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
软件工程——四则运算3(C#)
阅读量:6706 次
发布时间:2019-06-25

本文共 13236 字,大约阅读时间需要 44 分钟。

一、设计思想

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

二、源代码

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
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 else103 { //第一个操作数不是分数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 else122 { //第一个操作数不是分数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 else145 {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 else158 {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 else174 {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 else187 {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

你可能感兴趣的文章
Lync 小技巧-16-查看Lync给谁打电话了
查看>>
在android中读取联系人信息的程序,包括读取联系人姓名、手机号码和邮箱
查看>>
可能吞噬硬件的无服务器云
查看>>
如何自行搭建一个威胁感知大脑 SIEM?| 硬创公开课
查看>>
安全圈老司机为什么会在这个游戏里翻车?(内附详细解谜攻略)
查看>>
大数据将带来哪些“健康红利”?
查看>>
技术派的梦想旅行,用大数据推动旅游2.0时代到来
查看>>
高校 WiFi 9 大谬论
查看>>
CyrusOne计划在美国德克萨斯建设大型数据中心园区
查看>>
暴风热点 要的不仅仅是免费WIFI
查看>>
MSR路由器的未来之路
查看>>
《C语言程序设计:问题与求解方法》——3.10节提高部分
查看>>
《数据库基础及实践技术——SQL Server 2008》一3.3 查看和设置数据库选项
查看>>
边缘计算将蚕食云计算,可能吗?
查看>>
《Linux内核修炼之道》——1.3 获取内核源码
查看>>
阿里云前端周刊 - 第 12 期
查看>>
GNOME 3.26 将对控制中心进行大改进
查看>>
《CCNP ROUTE (642-902 )认证考试指南》一第1章 CCNP考试中的规划任务
查看>>
名落孙山之后, Edge 浏览器发布一大波新功能
查看>>
树莓派使用 DHT11 温湿度传感器
查看>>