作业二:四则运算
使用C#编写自动出题的四则运算
主要功能:
能随机出现四则运算,数字和符号全部随机出现。
设计思想:
让数字和符号全部随机出现,这样可以增加题的难度和不确定性,但是同时也增加了难度,除数是否为0和是否可以整除的判定。
如果出现上述情况:1.除数为0的情况下变更符号为+,进行继续运算。
2.如果不可以整除的情况下,变更符号为-,进行继续运算。
源代码:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace 四则运算 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Random shu = new Random();//用于产生数字 Random fuhao = new Random();//用于产生运算符号 int shuzi1= shu.Next(1, 101);//取0-100的随机数 label1.Text = shuzi1.ToString();//产生第一个随机数 int fuhao1 = fuhao.Next(1, 5);//取1-4的随机数用来对应运算符号 string jsysf1 = "";//用于接受运算符号 switch (fuhao1)//判断运算符号 { case 1: jsysf1 = "+"; break; case 2: jsysf1 = "-"; break; case 3: jsysf1 = "*"; break; case 4: jsysf1 = "/"; break; } label2.Text = jsysf1;//第一个运算符号 int shuzi2 = shu.Next(1, 101);//取0-100的随机数 label3.Text = shuzi2.ToString();//产生第二个随机数 if (jsysf1 == "/" && shuzi2 == 0)//除数为零的操作 { jsysf1 = "+"; } if (jsysf1 == "/" && shuzi1 % shuzi2 != 0)//不能整除的操作 { jsysf1 = "-"; } int fuhao2 = fuhao.Next(1, 5);//取1-4的随机数用来对应运算符号 string jsysf2 = "";//用于接受运算符号 switch (fuhao2)//判断运算符号 { case 1: jsysf2 = "+"; break; case 2: jsysf2 = "-"; break; case 3: jsysf2 = "*"; break; case 4: jsysf2 = "/"; break; } label4.Text = jsysf2;//第二个符号 int shuzi3 = shu.Next(1, 101);//取0-100的随机数 label5.Text = shuzi3.ToString();//产生第三个随机数 if (jsysf2 == "/" && shuzi3 == 0)//除数为零的操作 { jsysf2 = "+"; } } } }
运行结果:
为了让出题界面更加好看,所以制作了一个更加美观的界面方便出题。
出题结果截图:
心得体会:
本次制作这个程序过程中,也遇到了一些小问题。比如:除数为0和不能被整除的情况,这些情况的判定和怎样更改继续运行的程序。在遇到这些问题的时候我求助了身边的同学和上网查阅了一些资料,才让我完成了这个程序,现在才知道自己在真正完成一个程序的时候,还是有很多地方有不足,要更加完善自己的编程能力,平时多动手去操作。