软件工程结对作业01
一、设计思想
设计两个窗体,在第一个窗体中选择功能参数,在第二个窗体中显示所出题目。
二、源代码
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级
项目计划总结:
周活动总结表
|
日期 任务 |
听课 |
编写程序 |
阅读课本 |
准备考试 |
|
|
日总计 |
|
周一 |
300 |
|
|
|
|
|
300 |
|
周二 |
400 |
|
|
|
|
|
400 |
|
周三 |
100 |
148 |
|
|
|
|
248 |
|
周四 |
300 |
|
|
|
|
|
300 |
|
周五 |
200 |
98 |
|
|
|
|
298 |
|
周六 |
|
49 |
|
|
|
|
|
不包括上一周在内的累计时间
|
总计 |
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 |


浙公网安备 33010602011771号