首页 > 学院 > 开发设计 > 正文

四则运算生成器升级版1.0

2019-11-17 02:31:48
字体:
来源:转载
供稿:网友

四则运算生成器升级版1.0

一、程序设计题目要求和设计思想

1、题目

(1)、题目避免重复; (2)、可定制(数量/打印方式); (3)、可以控制下列参数: 是否有乘除法、是否有括号、 数值范围、加减有无负数、除法有无余数、否支持分数 (真分数, 假分数, …)、是否支持小数 (精确到多少位)、打印中每行的间隔可调整;

2、设计思想

要求1:题目避免重复 设计思想:(1)通过srand(time(NULL));来控制。 要求2:可以定制(数量/打印方式) 设计思想:(1)定义一个参数,利用用户输入的数量来控制数量; 设计思想:(2)输出格式可以目前可以设置两个方式,一个方式是纵向X道,另一个是X*Y格式输出,其中X、Y可以由用户选择来控制。 要求3:控制参数 设计思想:(1)所有的参数控制都要通过用户来选择,控制实现在主函数里,打印函数另行设计 设计思想:(2)数值范围可以设置几个输出函数,用户进行选择 设计思想:(3)是否有乘除法,可以在输出函数里控制,用户进行选择 设计思想:(4)加减有无负数可以用参数比较大小来实现 总体设计:程序里要涉及到很多条件判断,一层一层的设计,先把在所有要求都满足的情况下的结果输出,然后在一步步的展开,一项一项的完成。

二、程序源代码

  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 sizeyunsuanqi 11 { 12     public partial class Form1 : Form 13     { 14         int shitishumu = 0; 15         int shuzhifanwei1 = 0; 16         int shuzhifanwei2 = 0; 17         string suoyoufuhao; 18         string fuhao; 19         string d; 20  21         public Form1() 22         { 23             InitializeComponent(); 24         } 25         PRivate void Form1_Load(object sender, EventArgs e)//通常初始化在Form1_Load事件中完成 26         { 27             richTextBox1.Clear(); 28             textBox1.Clear(); 29         } 30         private void button2_Click(object sender, EventArgs e)//button2(清除按钮)的单击事件:清除功能,清除已选择选项内容 31         { 32             richTextBox1.Clear(); 33             textBox4.Text = ""; 34             textBox2.Text = ""; 35             textBox3.Text = ""; 36             checkBox3.Checked = false; 37             checkBox2.Checked = false; 38             checkBox1.Checked = false; 39         } 40         private void button1_Click(object sender, EventArgs e)        //button2(确认按钮)的单击事件:单击后,输出题目 41         { 42             shitishumu = int.Parse(textBox4.Text);//用户控制输入试题数目 43             shuzhifanwei2 = int.Parse(textBox3.Text);//用户控制输入数值范围(大) 44             shuzhifanwei1 = int.Parse(textBox2.Text);//用户控制输入数值范围(小) 45             richTextBox1.Text += "尊敬的用户您好,您的请求已经得到确认"+"/r/n"; 46             richTextBox1.Text += "您将打印 " + shitishumu + " 道题目" + "/r/n"; 47             richTextBox1.Text += "您打印试题的数值范围是: " + shuzhifanwei1 + "-" + shuzhifanwei2 + "/r/n"; 48             if (checkBox3.Checked == true) 49             { 50                 richTextBox1.Text += "试题输出结果存在括号" + "/n"; 51             } 52             if (checkBox3.Checked == false) 53             { 54                 richTextBox1.Text += "试题输出结果不存在括号" + "/n"; 55             } 56             if (checkBox2.Checked == true) 57             { 58                 richTextBox1.Text += "试题输出结果中减法的结果存在负数" + "/n"; 59             } 60             if (checkBox2.Checked == false) 61             { 62                 richTextBox1.Text += "试题输出结果中减法的结果不存在负数" + "/n"; 63             } 64             if (checkBox1.Checked == true) 65             { 66                 richTextBox1.Text += "试题输出结果存在乘除法" + "/n"; 67             } 68             if (checkBox1.Checked == false) 69             { 70                 richTextBox1.Text += "试题输出结果不存在乘除法" + "/n"; 71             } 72              73  74             System.Random number = new Random(System.DateTime.Now.Millisecond); 75             //循环输出题目 76             for (int i = 0; i < shitishumu; i++) 77             { 78                 int num1 = number.Next(shuzhifanwei1, shuzhifanwei2); 79                 int num2 = number.Next(shuzhifanwei1, shuzhifanwei2); 80                 int num3 = number.Next(shuzhifanwei1, shuzhifanwei2); 81                 int yunsuan1 = number.Next(0, 4); 82                 int yunsuan2 = number.Next(0, 2); 83                 int fuhaonum = number.Next(0, 2); 84                 if (fuhaonum == 0)//符号进行随机 85                 { 86                     fuhao = "+"; 87                 }; 88                 if (fuhaonum == 1) 89                 { 90                     fuhao = "-"; 91                 }; 92                 int suoyoufuhaonum = number.Next(0, 4); 93                 if (suoyoufuhaonum == 0)  94                 {  95                     suoyoufuhao = "+";  96                 }; 97                 if (suoyoufuhaonum == 1) 98                 {  99                     suoyoufuhao = "-";100                 };101                 if (suoyoufuhaonum == 2)102                 {103                     suoyoufuhao = "*";104                 };105                 if (suoyoufuhaonum == 3) 106                 {107                     suoyoufuhao = "/"; 108                 };109 110                 if (checkBox3.Checked == true)//有括号情况111                 {112                     textBox1.Text += num3;113                     if (checkBox1.Checked == true)//有乘除法114                     {115                         if (checkBox2.Checked == true)//减法有负数116                         {117                             if (yunsuan1 == 0) { textBox1.Text += suoyoufuhao + "(" + num1 + "+" + num2 + ")" + "=" + "/r/n"; }118                             else if (yunsuan1 == 1) { textBox1.Text += suoyoufuhao + "(" + num1 + "*" + num2 + ")" + "=" + "/r/n"; }119                             else if (yunsuan1 == 2) { textBox1.Text += suoyoufuhao + "(" + num1 + "-" + num2 + ")" + "=" + "/r/n"; }//减法有负数120                             else if (yunsuan1 == 3 && num2 != 0) { textBox1.Text += suoyoufuhao + "(" + num1 + "/" + num2 + ")" + "=" + "/r/n"; }//除法有余数121                         }122                         else if (checkBox2.Checked == false)//减法没有负数123                         {124                             if (yunsuan1 == 0) { textBox1.Text += suoyoufuhao + "(" + num1 + "+" + num2 + ")" + "=" + "/r/n"; }125                             else if (yunsuan1 == 1) { textBox1.Text += suoyoufuhao + "(" + num1 + "*" + num2 + ")" + "=" + "/r/n"; }126                             else if (yunsuan1 == 2 && num1 > num2) { textBox1.Text += suoyoufuhao + "(" + num1 + "-" + num2 + ")" + "=" + "/r/n"; }//减法没有负数127                             else if (yunsuan1 == 2 && num1 <= num2) { textBox1.Text += suoyoufuhao + "(" + num2 + "-" + num1 + ")" + "=" + "/r/n"; }//减法没有负数128                             else if (yunsuan1 == 3 && num2 != 0) { textBox1.Text += suoyoufuhao + "(" + num1 + "/" + num2 + ")" + "=" + "/r/n"; }//除法有余数129 130                         }131                     }132                     else if (checkBox1.Checked == false)//没有乘除法133                     {134                         if (checkBox2.Checked == true)//减法有负数135                         {136                             if (yunsuan2 == 0) { textBox1.Text += fuhao + "(" + num1 + "+" + num2 + ")" + "=" + "/r/n"; }137                             else if (yunsuan2 == 1) { textBox1.Text += fuhao + "(" + num1 + "-" + num2 + ")" + "=" + "/r/n"; }//减法有负数138                         }139                         else if (checkBox2.Checked == false)//减法没有负数140                         {141                             if (yunsuan2 == 0) { textBox1.Text += fuhao + "(" + num1 + "+" + num2 + ")" + "=" + "/r/n"; }142                             else if (yunsuan2 == 1 && num1 > num2) { textBox1.Text += fuhao + "(" + num1 + "-" + num2 + ")" + "=" + "/r/n"; }//减法没有负数143                             else if (yunsuan2 == 1 && num1 <= num2) { textBox1.Text += fuhao + "(" + num2 + "-" + num1 + ")" + "=" + "/r/n"; }//减法没有负数144                         }145                     }146 147                 }148                 else if (checkBox3.Checked == false)//没有括号149                 {150                     if (checkBox1.Checked == true)//有乘除法151                     {152                         if (checkBox2.Checked == true)//减法有负数153                         {154                             if (yunsuan1 == 0) { textBox1.Text += num1 + "+" + num2 +"=" + "/r/n"; }155                             else if (yunsuan1 == 1) { textBox1.Text += num1 + "*" + num2 + "=" + "/r/n"; }156                             else if (yunsuan1 == 2) { textBox1.Text +
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表