软件工程——四则运算3(C#)
一、设计思想
设计两个窗体,在第一个窗体中选择功能参数,在第二个窗体中显示所出题目。
二、源代码
Form1.cs:
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- namespace sizeyunsuan
- {
- public partial class Form1 : Form
- {
- static public int max = ;
- static public int min = ;
- static public int num = ;
- static public int select = ;
- public Form1()
- {
- InitializeComponent();
- }
- private void button2_Click(object sender, EventArgs e)
- {
- textBox1.Text = "";
- textBox2.Text = "";
- textBox3.Text = "";
- radioButton1.Checked = false;
- radioButton2.Checked = false;
- radioButton3.Checked = false;
- radioButton4.Checked = false;
- radioButton5.Checked = false;
- radioButton6.Checked = false;
- }
- private void button1_Click(object sender, EventArgs e)
- {
- min = int.Parse(textBox1.Text);
- max= int.Parse(textBox3.Text);
- num = int.Parse(textBox2.Text);
- if (radioButton1.Checked == true)
- select = ;
- else if (radioButton2.Checked == true)
- select =;
- else if(radioButton3.Checked == true)
- select = ;
- else if(radioButton4.Checked == true)
- select = ;
- else if (radioButton5.Checked == true)
- select = ;
- else if (radioButton6.Checked == true)
- select = ;
- Form2 fm = new Form2();
- fm.Show();
- }
- }
- }
Form2..cs:
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- namespace sizeyunsuan
- {
- public partial class Form2 : Form
- {
- public Form2()
- {
- InitializeComponent();
- int num = Form1.num;
- int max = Form1.max;
- int min = Form1.min;
- int select = Form1.select;
- int opr_symbol;
- Random Random1 = new Random();
- for(int i=;i<num;i++)
- {
- switch (select)
- {
- case :
- {int rdm1 = Random1.Next(min, max);
- int rdm2 = Random1.Next(min, max);
- opr_symbol = Random1.Next(, );//随机产生一个操作符
- if (rdm1 < ) richTextBox1.Text += "(" + rdm1 + ")";
- else richTextBox1.Text += rdm1;
- if (opr_symbol ==) richTextBox1.Text += "+";
- else richTextBox1.Text += "-";
- if (rdm2< ) richTextBox1.Text += "(" + rdm2+ ")=\n";
- else richTextBox1.Text += rdm2+"=\n" ;
- break;
- }
- case :
- { int rdm1 = Random1.Next(min, max);
- int rdm2 = Random1.Next(min, max);
- opr_symbol = Random1.Next(, );//随机产生一个操作符
- if (rdm1 < ) richTextBox1.Text += "(" + rdm1 + ")";
- else richTextBox1.Text += rdm1;
- switch(opr_symbol)
- {
- case : richTextBox1.Text +="+";break;
- case : richTextBox1.Text +="-";break;
- case : richTextBox1.Text +="*";break;
- case : richTextBox1.Text +="/";break;
- }
- if (rdm2 < ) richTextBox1.Text += "(" + rdm2 + ")\n";
- else richTextBox1.Text += (rdm2+)+"\n";
- break;
- }
- case : {
- int rdm1 = Random1.Next(min, max);
- int rdm2 = Random1.Next(min, max);
- int rdm3 = Random1.Next(, max);
- if (Random1.Next(, ) == )
- {//第一个数是否是分数
- rdm1 = Random1.Next(, max);//保证分数为正数
- if (rdm1 > rdm3) richTextBox1.Text += "(" + rdm3 + "/" + rdm1 + ")";
- else richTextBox1.Text += "(" + rdm1 + "/" + rdm3 + ")";
- }
- else { //第一个操作数不是分数
- if (rdm1 < ) richTextBox1.Text += "(" + rdm1 + ")";
- else richTextBox1.Text += rdm1;
- }
- opr_symbol = Random1.Next(, );//随机产生一个操作符
- switch (opr_symbol)
- {
- case : richTextBox1.Text += "+"; break;
- case : richTextBox1.Text += "-"; break;
- case : richTextBox1.Text += "*"; break;
- case : richTextBox1.Text += "/"; break;
- }
- if (Random1.Next(, ) == )
- {//第二个数是否是分数
- rdm2 = Random1.Next(, max);//保证分数为正数
- if (rdm2 > rdm3) richTextBox1.Text += "(" + rdm3 + "/" + rdm2 + ")=\n";
- else richTextBox1.Text += "(" + rdm2 + "/" + rdm3 + ")=\n";
- }
- else
- { //第一个操作数不是分数
- if (rdm2< ) richTextBox1.Text += "(" + rdm2 + ")=\n";
- else richTextBox1.Text += rdm2+"=\n";
- }
- break;
- }
- case :
- {
- int rdm1 = Random1.Next(min, max);
- int rdm2 = Random1.Next(min, max);
- int rdm3 = Random1.Next(, max);
- if (Random1.Next(, ) == )
- {//第一个数是否是分数
- rdm1 = Random1.Next(, max);//保证分数为正数
- if (rdm1 < rdm3) richTextBox1.Text += "(" + rdm3 + "/" + rdm1 + ")";
- else richTextBox1.Text += "(" + rdm1 + "/" + rdm3 + ")";
- }
- else
- { //第一个操作数不是分数
- if (rdm1 < ) richTextBox1.Text += "(" + rdm1 + ")";
- else richTextBox1.Text += rdm1;
- }
- opr_symbol = Random1.Next(, );//随机产生一个操作符
- switch (opr_symbol)
- {
- case : richTextBox1.Text += "+"; break;
- case : richTextBox1.Text += "-"; break;
- case : richTextBox1.Text += "*"; break;
- case : richTextBox1.Text += "/"; break;
- }
- if (Random1.Next(, ) == )
- {//第二个数是否是分数
- rdm2 = Random1.Next(, max);//保证分数为正数
- if (rdm2< rdm3) richTextBox1.Text += "(" + rdm3 + "/" + rdm2 + ")=\n";
- else richTextBox1.Text += "(" + rdm2 + "/" + rdm3 + ")=\n";
- }
- else
- { //第一个操作数不是分数
- if (rdm2 < ) richTextBox1.Text += "(" + rdm2 + ")=\n";
- else richTextBox1.Text += rdm2 + "=\n";
- }
- break;
- }
- case : {
- int rdm1 = Random1.Next(min, max);
- int rdm2 = Random1.Next(min, max);
- double rdm3;
- opr_symbol = Random1.Next(, );//随机产生一个操作符
- switch (opr_symbol)
- {
- case :
- {
- if (Random1.Next(, ) == )//第一个操作数为小数
- {
- rdm3 = Random1.NextDouble();//产生一个随机的小数
- rdm3 += rdm1;
- rdm3 = Math.Round(rdm3, );
- richTextBox1.Text += rdm3;
- }
- else
- {
- if (rdm1 < ) richTextBox1.Text += "(" + rdm1 + ")";
- else richTextBox1.Text += rdm1;
- }
- richTextBox1.Text += "-";
- if (Random1.Next(, ) == )//第二个操作数为小数
- {
- rdm3 = Random1.NextDouble();//产生一个随机的小数
- rdm3 += rdm2;
- rdm3 = Math.Round(rdm3, );
- richTextBox1.Text += rdm3 + "=\n";
- }
- else
- {
- if (rdm2 < ) richTextBox1.Text += "(" + rdm2 + ")=\n";
- else richTextBox1.Text += rdm2 + "=\n";
- }
- break;
- }
- case :
- {
- if (Random1.Next(, ) == )//第一个操作数为小数
- {
- rdm3 = Random1.NextDouble();//产生一个随机的小数
- rdm3 += rdm1;
- rdm3 = Math.Round(rdm3, );
- richTextBox1.Text += rdm3;
- }
- else
- {
- if (rdm1 < ) richTextBox1.Text += "(" + rdm1 + ")";
- else richTextBox1.Text += rdm1;
- }
- richTextBox1.Text += "-";
- if (Random1.Next(, ) == )//第二个操作数为小数
- {
- rdm3 = Random1.NextDouble();//产生一个随机的小数
- rdm3 += rdm2;
- rdm3 = Math.Round(rdm3, );
- richTextBox1.Text += rdm3 + "=\n";
- }
- else
- {
- if (rdm2 < ) richTextBox1.Text += "(" + rdm2 + ")=\n";
- else richTextBox1.Text += rdm2 + "=\n";
- }
- break;
- }
- case :
- {
- if (rdm1 < ) richTextBox1.Text += "(" + rdm1 + ")";
- else richTextBox1.Text += rdm1;
- richTextBox1.Text += "*";
- if (rdm2 < ) richTextBox1.Text += "(" + rdm2 + ")\n";
- else richTextBox1.Text += rdm2 + "=\n";
- break;
- }
- case :
- {
- if (rdm1 < ) richTextBox1.Text += "(" + rdm1 + ")";
- else richTextBox1.Text += rdm1;
- richTextBox1.Text += "/";
- if (rdm2 < ) richTextBox1.Text += "(" + rdm2 + ")\n";
- else richTextBox1.Text += (rdm2 + ) + "=\n";
- break;
- }
- }
- break;
- }
- case : {
- int rdm1 = Random1.Next(min, max);
- int rdm2 = Random1.Next(min, max);
- int rdm3 =Random1.Next(, max);
- richTextBox1.Text += "(";
- if (rdm1 < ) richTextBox1.Text += "("+rdm1+")";//判断rdm1是否为负数
- else richTextBox1.Text += rdm1;
- if (Random1.Next(, ) == ) richTextBox1.Text += "+";//确定括号内的符号
- else richTextBox1.Text += "-";
- if (rdm2 < ) richTextBox1.Text += "(" + rdm2 + "))";//判断rdm2是否为负数
- else richTextBox1.Text += rdm2+")";
- if (Random1.Next(, ) == ) richTextBox1.Text += "*"+rdm3+"=\n";//确定括号外的符号
- else richTextBox1.Text += "/"+rdm3+"=\n";
- break;
- }
- }
- }
- }
- private void Form2_Load(object sender, EventArgs e)
- {
- }
- private void button1_Click(object sender, EventArgs e)
- {
- this.Close();
- }
- }
- }
三、运行结果截图:
四、心得体会
通过这次对四则运算的扩展,我学会了怎样在两个窗体之间传递参数,把变量设置为静态变量,可以被所有对象使用。这次巩固了对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 |
编码 |
执行 |
未知 |
|||
描述:算法无法达到预期结果,比如无法显示结果 |
软件工程——四则运算3(C#)的更多相关文章
- 软件工程——四则运算py(我小学的时候怎么没用过这东西?)
题目:实现一个自动生成小学四则运算题目的命令行程序 github地址:https://github.com/ILTHEW/wc.git 主编:黄晖朝3116005178 助手:朱健栋311600520 ...
- 软件工程随堂小作业——随机四则运算Ⅱ(C++)
一.设计思路 设计思路已给出,此处不再赘述. 二.源代码 (1)四则运算2.cpp(源文件) // 四则运算2.cpp : Defines the entry point for the consol ...
- 软件工程启程篇章:C#和四则运算生成与运算
0x01 :序言 I leave uncultivated today, was precisely yestoday perishes tomorrow which the person of th ...
- 软件工程启程篇章:结对编程和进阶四则运算(197 & 199)
0x01 :序言:无关的事 I wrote a sign called "Dead End" in front of myself, but love crossed it wit ...
- 《软件工程》小组团队项目-小学生四则运算APP(First Sprint)
<软件工程>团队项目我们小组选择了小学生四则运算APP,在上学期原有的项目基础上进行更新升级.(自我感觉我们团队上学期的小学生四则运算APP是较为成功且实用的,不过这学期学习到了新的知识, ...
- 软件工程之四则运算--Github
由于现在配置问题,然后借用同学电脑将代码上传至Github,网址为:https://github.com/be821/RealFour 参考相关Github文档: 1. http://my.oschi ...
- 软件工程课堂作业(五)——终极版随机产生四则运算题目(C++)
一.升级要求:让程序能接受用户输入答案,并判定对错.最后给出总共对/错的数量. 二.设计思想: 1.首先输入答案并判断对错.我想到的是定义两个数组,一个存放用户算的结果,另一个存放正确答案.每输出一道 ...
- 软件工程课堂作业(二)续——升级完整版随机产生四则运算题目(C++)
一.设计思想: 1.根据题目新设要求,我将它们分为两类:一类是用户输入数目,根据这个数目改变一系列后续问题:另一类是用户输入0或1,分情况解决问题. 2.针对这两类要求,具体设计思路已在上篇博文中写出 ...
- 软件工程课程作业(三)--四则运算3(C++)
伙伴链接:http://www.cnblogs.com/haoying1994/ 一.设计思路 在此前程序拥有的功能:加减有无负数,除法有无余数以及算式可定制的功能的基础上,此次程序又添加了算式结果的 ...
随机推荐
- Jquery在线引用地址:
转自:http://www.cnblogs.com/lkf18/archive/2012/12/11/2813241.html 1. 很多网站都是使用这种方式引入,客户的浏览器可能已经缓存过了 jqu ...
- hdu2053
查找1-n中能整除n的数的个数. 如果是偶数的话,结果为0 奇数的话,结果为1 #include <stdio.h> int main(){ int i,cnt,n; while(~sca ...
- MyBatis学习系列一之环境搭建
目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring 学习一个新的知识,首先做一个简单的例子使用一下,然后再逐步深入.MyBat ...
- shell script 基本语法
几个符号的意义$#:代表后接的参数『个数』,以上表为例这裡显示为『 4 』:$@:代表『 "$1" "$2" "$3" "$4&q ...
- 创建parameter id
Custom Parameter-id Creation By Abhijit Daptary, Capgemini India Step1: Creation of parameter ID. P ...
- Cookie禁用了,Session还能用吗?
Cookie与Session,一般认为是两个独立的东西,Session采用的是在服务器端保持状态的方案,而Cookie采用的是在客户端保持状态的方案.Cookie分为两种,一种可以叫做session ...
- VBA删除表格最后一行
Sub 删除最后一行() If MsgBox("要为所有表格添加列吗?", vbYesNo + vbQuestion) = vbYes Then To ActiveDocument ...
- 05-Tom猫(UIImageView的简单运用)
ViewController.h文件中: @interface ViewController : UIViewController @property (weak, nonatomic) IBOutl ...
- [leetcode]_Longest Common Prefix
问题:寻找最长公共前缀 思路:就是逐一检查每个string中的每一位,碰到不相等的时候,结束:每个string中这一位都相等,加入到common prefix中~ public String long ...
- 在Windows下Mysql如何重置root用户密码
原文链接:http://www.feeldesignstudio.com/2013/05/windows-mysql-root-password-reset 网上的很多在Windows下重置root用 ...