一、设计思想
设计两个窗体,在第一个窗体中选择功能参数,在第二个窗体中显示所出题目。
二、源代码
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;irdm3) 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 |
| 编码 | 执行 | 未知 |
| |
描述:算法无法达到预期结果,比如无法显示结果 |