作业二:四则运算

使用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和不能被整除的情况,这些情况的判定和怎样更改继续运行的程序。在遇到这些问题的时候我求助了身边的同学和上网查阅了一些资料,才让我完成了这个程序,现在才知道自己在真正完成一个程序的时候,还是有很多地方有不足,要更加完善自己的编程能力,平时多动手去操作。

posted @ 2016-03-16 19:28  130201128王珏  阅读(170)  评论(0编辑  收藏  举报