四则运算2.0
一、设计思路
这次采用的C#制作的图形化的四则运算程序,基本功能还是这些,没有多做改进。这次主要是练习了一下C#的用法。
思路还是最开始的一步一步来的思路。。比较简单易懂。
二、源代码
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.Threading.Tasks; 9 using System.Windows.Forms; 10 11 namespace 四则运算2._0 12 { 13 public partial class Form1 : Form 14 { 15 int shumu = 0; 16 int min = 0; 17 int max = 0; 18 string allfuhao; 19 string fuhao; 20 public Form1() 21 { 22 InitializeComponent(); 23 } 24 private void Form1_Load(object sender, EventArgs e) 25 { 26 richTextBox1.Clear(); 27 textBox2.Clear(); 28 textBox3.Clear(); 29 textBox4.Clear(); 30 } 31 private void checkBox2_CheckedChanged(object sender, EventArgs e) 32 { 33 34 } 35 36 private void richTextBox1_TextChanged(object sender, EventArgs e) 37 { 38 39 } 40 41 private void textBox4_TextChanged(object sender, EventArgs e) 42 { 43 44 } 45 46 private void label2_Click(object sender, EventArgs e) 47 { 48 49 } 50 51 private void button2_Click(object sender, EventArgs e) 52 { 53 shumu = int.Parse(textBox3.Text); 54 min = int.Parse(textBox4.Text); 55 max = int.Parse(textBox2.Text); 56 System.Random number = new Random(System.DateTime.Now.Millisecond); 57 //循环输出题目 58 for (int i = 0; i <shumu; i++) 59 { 60 int num1 = number.Next(min, max); 61 int num2 = number.Next(min, max); 62 int num3 = number.Next(min, max); 63 int yunsuan1 = number.Next(0, 4); 64 int yunsuan2 = number.Next(0, 2); 65 //定义变量 66 int fuhaonum = number.Next(0, 2); 67 if (fuhaonum == 0)//符号进行随机 68 { 69 fuhao = "+"; 70 }; 71 if (fuhaonum == 1) 72 { 73 fuhao = "-"; 74 }; 75 int allfuhaonum = number.Next(0, 4); 76 if (allfuhaonum == 0) 77 { 78 allfuhao = "+"; 79 }; 80 if (allfuhaonum == 1) 81 { 82 allfuhao = "-"; 83 }; 84 if (allfuhaonum == 2) 85 { 86 allfuhao = "*"; 87 }; 88 if (allfuhaonum == 3) 89 { 90 allfuhao = "/"; 91 }; 92 93 if (checkBox4.Checked == true)//有括号 94 { 95 richTextBox1.Text += num3; 96 if (checkBox1.Checked == true)//有乘除 97 { 98 if (checkBox3.Checked == true)//结果允许为负 99 { 100 if (yunsuan1 == 0) { richTextBox1.Text += allfuhao + "(" + num1 + "+" + num2 + ")" + "="+" "; } 101 else if (yunsuan1 == 1) { richTextBox1.Text += allfuhao + "(" + num1 + "*" + num2 + ")" + "=" + " "; } 102 else if (yunsuan1 == 2) { richTextBox1.Text += allfuhao + "(" + num1 + "-" + num2 + ")" + "=" + " "; }//减法有负数 103 else if (yunsuan1 == 3 && num2 != 0) { richTextBox1.Text += allfuhao + "(" + num1 + "/" + num2 + ")" + "=" + " "; }//除法有余数 104 } 105 else if(checkBox3.Checked == false)//结果不允许为负 106 { 107 if (yunsuan1 == 0) { richTextBox1.Text += allfuhao + "(" + num1 + "+" + num2 + ")" + "=" + " "; } 108 else if (yunsuan1 == 1) { richTextBox1.Text += allfuhao + "(" + num1 + "*" + num2 + ")" + "=" + " "; } 109 else if (yunsuan1 == 2 && num1 > num2) { richTextBox1.Text += allfuhao + "(" + num1 + "-" + num2 + ")" + "=" + " "; }//减法无负数 110 else if (yunsuan1 == 2 && num1 < num2) { richTextBox1.Text += allfuhao + "(" + num2 + "-" + num1 + ")" + "=" + " "; }//减法无负数 111 else if (yunsuan1 == 3 && num2 != 0) { richTextBox1.Text += allfuhao + "(" + num1 + "/" + num2 + ")" + "=" + " "; }//除法有余数 112 } 113 } 114 else if(checkBox1.Checked == false)//没有乘除法 115 if (checkBox3.Checked == true)//减法有负数 116 { 117 if (yunsuan2 == 0) { richTextBox1.Text += fuhao + "(" + num1 + "+" + num2 + ")" + "=" + " "; } 118 else if (yunsuan2 == 1) { richTextBox1.Text += fuhao + "(" + num1 + "-" + num2 + ")" + "=" + " "; }//减法有负数 119 } 120 else if (checkBox3.Checked == false)//结果不允许为负 121 { 122 if (yunsuan2 == 0) { richTextBox1.Text += fuhao + "(" + num1 + "+" + num2 + ")" + "=" + " "; } 123 else if (yunsuan2 == 1 && num1 > num2) { richTextBox1.Text += fuhao + "(" + num1 + "-" + num2 + ")" + "=" + " "; }//减法无负数 124 else if (yunsuan2 == 1 && num1 <= num2) { richTextBox1.Text += fuhao + "(" + num2 + "-" + num1 + ")" + "=" + " "; }//减法无负数 125 } 126 } 127 else if (checkBox4.Checked == false)//没有括号 128 { 129 if (checkBox1.Checked == true)//有乘除 130 { 131 if (checkBox3.Checked == true)//结果允许为负 132 { 133 if (yunsuan1 == 0) { richTextBox1.Text += num1 + "+" + num2 + "=" + " "; } 134 else if (yunsuan1 == 1) { richTextBox1.Text += num1 + "*" + num2 + "=" + " "; } 135 else if (yunsuan1 == 2) { richTextBox1.Text += num1 + "-" + num2 + "=" + " "; }//减法有负数 136 else if (yunsuan1 == 3 && num2 != 0) { richTextBox1.Text += num1 + "/" + num2 + "=" + " "; }//除法有余数 137 } 138 else if (checkBox3.Checked == false)//结果不允许为负 139 { 140 if (yunsuan1 == 0) { richTextBox1.Text += num1 + "+" + num2 + "=" + " "; } 141 else if (yunsuan1 == 1) { richTextBox1.Text += num1 + "*" + num2 + "=" + " "; } 142 else if (yunsuan1 == 2 && num1 > num2) { richTextBox1.Text += num1 + "-" + num2 + "=" + " "; }//减法无负数 143 else if (yunsuan1 == 2 && num1 <= num2) { richTextBox1.Text += num2 + "-" + num1 + "=" + " "; }//减法无负数 144 else if (yunsuan1 == 3 && num2 != 0) { richTextBox1.Text += num1 + "/" + num2 + "=" + " "; }//除法有余数 145 } 146 } 147 else if (checkBox1.Checked == false)//没有乘除法 148 if (checkBox3.Checked == true)//结果允许为负 149 { 150 if (yunsuan2 == 0) { richTextBox1.Text += num1 + "+" + num2 + "=" + " "; } 151 else if (yunsuan2 == 1) { richTextBox1.Text += num1 + "-" + num2 + "=" + " "; }//减法有负数 152 } 153 else if (checkBox3.Checked == false)//结果不允许为负 154 { 155 if (yunsuan2 == 0) { richTextBox1.Text += num1 + "+" + num2 + "=" + " "; } 156 else if (yunsuan2 == 1 && num1 > num2) { richTextBox1.Text += num1 + "-" + num2 + "=" + " "; }//减法无负数 157 else if (yunsuan2 == 1 && num1 <= num2) { richTextBox1.Text += num2 + "-" + num1 + "=" + " "; }//减法无负数 158 } 159 } 160 } 161 162 } 163 164 private void button1_Click(object sender, EventArgs e) 165 { 166 richTextBox1.Clear(); 167 textBox4.Text = ""; 168 textBox3.Text = ""; 169 textBox2.Text = ""; 170 checkBox1.Checked = false; 171 checkBox2.Checked = false; 172 checkBox3.Checked = false; 173 checkBox4.Checked = false; 174 } 175 176 private void textBox2_TextChanged(object sender, EventArgs e) 177 { 178 179 } 180 181 private void textBox3_TextChanged(object sender, EventArgs e) 182 { 183 184 } 185 186 private void groupBox1_Enter(object sender, EventArgs e) 187 { 188 189 } 190 191 private void checkBox1_CheckedChanged(object sender, EventArgs e) 192 { 193 194 } 195 196 private void checkBox4_CheckedChanged(object sender, EventArgs e) 197 { 198 199 } 200 201 private void fileSystemWatcher1_Changed(object sender, System.IO.FileSystemEventArgs e) 202 { 203 204 } 205 206 private void checkBox3_CheckedChanged(object sender, EventArgs e) 207 { 208 209 } 210 211 private void button3_Click(object sender, EventArgs e) 212 { 213 textBox4.Text = ""; 214 textBox3.Text = ""; 215 textBox2.Text = ""; 216 } 217 218 private void button4_Click(object sender, EventArgs e) 219 { 220 checkBox1.Checked = false; 221 checkBox2.Checked = false; 222 checkBox3.Checked = false; 223 checkBox4.Checked = false; 224 } 225 } 226 }
三、结果截图
四、总结
这次算是正式的用C#编写的一个小程序,感觉如果用习惯的话 C#比C++要好用一些,因为自己本身C+用的不太好,所以感觉C#感觉图形化更直观易上手一些。功能基本没有添加。就这样。
下次会加上运算结果的测试。
五、pspo表格
一、项目计划总结:
周活动总结表
姓名: 盖相庚 日期:3.22.2015
日期 任务 |
听课 |
编写程序 |
阅读课本 |
准备考试 |
日总计 |
周日 |
|
2h |
No |
|
|
周一 |
|
|
|
|
|
周二 |
|
|
|
|
|
周三 |
|
|
|
|
|
周四 |
|
|
|
|
|
周五 |
|
|
|
|
|
周六 |
|
1.5h |
No |
|
|
周总结 |
|
|
|
|
|
阶段时间和效率 周数(上一次周活动表的周数+1):
不包括上一周在内的累计时间
总计 |
|
|
|
|
|
|
|
平均 |
|
|
|
|
|
|
|
最大 |
|
|
|
|
|
|
|
最小 |
|
|
|
|
|
|
|
以前各周的累计时间
总计 |
|
|
|
|
|
|
|
平均 |
|
|
|
|
|
|
|
最大 |
|
|
|
|
|
|
|
最小 |
|
|
|
|
|
|
|
二、时间记录表:
学生 盖相庚 日期 3.22.2015
教师 王建民 课程 PSP
日期 |
开始时间 |
结束时间 |
中断时间 |
净时间 |
活动 |
备注 |
3.21 |
21:30 |
23:30 |
30min |
90min |
编程 |
|
3.22 |
13:00 |
14:30 |
20min |
70min |
编程 |
|
3.22 |
9:00 |
10:00 |
|
60min |
编程 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
三、缺陷记录日志:
学生 盖相庚
日期 2015。3.22.
教员 王建民
程序号 20122901
日期 |
编号 |
类型 |
引入阶段 |
排除阶段 |
修复时间 |
修复缺陷 |
3.11 |
01 |
基本语法错误 |
|
|
十五分钟 |
If(f==0) |
描述:漏掉了一个=号 |
||||||
3.14 |
02 |
基本语法错误 |
|
|
十分钟 |
|
描述 少了一个}号 |
||||||
3.21 |
03 |
忘记程序编写 |
|
|
5分钟 |
|
自己定义了一个程序 因为需要大量个循环 所以直接复制 给忘记自己定义的程序了。。 |
||||||
|
|
|
|
|
|
|
|