一、程序设计题目要求和设计思想
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 +
新闻热点
疑难解答