软件工程——四则运算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+ ")=\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#)相关推荐
- 软件工程--四则运算表达式(4)
四则运算题目生成器 这篇文章详述了编码的过程以及对于其中部分app的实现方法机制 如果对于需求分析感兴趣,请移步软件工程–四则运算(3) 想要了解类间关系以及类模型,也请移步上述链接 这里只涉及具体的 ...
- 软件工程--四则运算表达式(6)
四则运算题目生成器 这篇文章详细讲述了需求分析当中功能需求第四阶段的实现过程和内容,对需求分析阶段感兴趣,请移步软件工程–四则运算表达式 对于网页之前的分析过程,请移步功能需求和设计阶段 网页的后端实 ...
- 软件工程——四则运算2
一.设计思想: 1. 为了实现题目中的要求,可以将各个功能由方法来实现,首先设计加减法运算方法. 2.加法方法:jiaFa(int range/*数值范围*/,int negative_OK/*0表示 ...
- 软件工程项目 四则运算表达式生成----5
四则运算题目生成器 软件工程大作业的结对项目–四则运算题目生成器 写的是需求分析中的功能需求第四阶段的过程和内容 需求分析阶段的链接如下 软件工程项目 四则运算表达式生成----1 网页之前的功能需求 ...
- 软件工程随堂小作业——随机四则运算Ⅱ(C++)
一.设计思路 设计思路已给出,此处不再赘述. 二.源代码 (1)四则运算2.cpp(源文件) 1 // 四则运算2.cpp : Defines the entry point for the cons ...
- 软件工程之四则运算开发感悟与收获
做完四则运算了,心情美哒哒的!! 1.本次项目,使用的时间说长不长,说短也不短,但每天都安排自己写一小段代码,为自己制定一个目标,加快项目的进度 2.在设计过程中,对这学期学的android的基础知识 ...
- 软件工程启程篇章:C#和四则运算生成与运算
0x01 :序言 I leave uncultivated today, was precisely yestoday perishes tomorrow which the person of th ...
- 现代软件工程讲义 个人项目和结对项目练习 四则运算
这是构建之法 <现代软件工程>课的作业题之一. 下面的题目, 从简单的命令行处理和数据处理开始开始,让同学们逐步练习,巩固算法,学会松耦合的设计,学会PSP,源代码控制,单元测试,回归测试 ...
- 软件工程实验一--编程随机生成30个四则运算,算数包括100以内的整数和真分数。...
软件工程实验一: --编程随机生成30个四则运算,算数包括100以内的整数和真分数. 实验思路:先利用rand()函数随机生成两个算数,包括100以内的整数和真分数,生成100以内的整数,用rand( ...
最新文章
- rest服务器性能,基于真实应用环境下的 WEB REST API 性能测试
- 使用ISAPI_Rewrite做实用的重定向
- svn自动同步更新脚本(windows)
- Python3.X新特性之print和exec
- 菜单工具栏wxPython菜单与工具栏基础示例
- 【转】VS2013动态库文件的创建及其使用详解
- Linux---之conda换源
- Flink查询关联Hbase输出
- 安全用电技能实训装置
- 实现一个Android锁屏App的难点总结
- link rel=canonical概念和用法(增加页面权重,利于排名)
- linux自动备份系统快照,我的 Linux 时光机——Snapper系统级自动备份工具
- ionic安卓打印终极解决方案,支持USB打印
- 什么样的游戏最适合GameFi?
- STM32单片机新建工程
- 嵌入式服务器appweb交叉编译指南
- Oracle(三)常用的查询语句
- 代码实现对麻将的听牌分析(判断什么牌能胡)
- 【类和对象】深入浅出类和对象
- 《战胜华尔街》书中的精髓:业余投资者如何根据行业特点选好股票,赚得比专业的投资者还要多?
热门文章
- 人工智能的定义与发展史
- 太阳能基站光照跟随追光逐日PLC控制系统
- 攻防世界 upload1 解题思路
- ios swift是静态语言吗
- java如何开发视频软件_使用JAVA编写视频播放器
- IOS 自动订阅以及恢复购买
- 一年两款新品 寒武纪的研发效率为何如此高?
- C#把数据库表里简体字转化为繁体字
- 用Hadoop分析金庸人物关系网-实验报告
- mysql1.2.17,17.1 MySQL主从介绍17.2 准备工作17.3 配置主17.4 配置从17.5 测试主从同步...