• 作业二:四则运算


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

  • 相关阅读:
    android 核心组件( 1 ) 常用布局, adapter, handler, UI
    Android 提高篇 6 之MediaPlayer
    Windows下获取Android系统源码
    Android入门学习笔记之人机用户界面
    Android的三种网络联接方式(URL / HttpURLConnection | HttpClient | InetAddress )
    界面开发的推荐色值, dip,px,pt,sp 的区别
    Android 提高 5 SurfaceView绘图容器的基本使用
    一些腾讯笔试题目
    Android提高篇2 之 Service就是后台程序
    Android提高篇1 之 BroadcastReceiver 应用程序间通信的手段
  • 原文地址:https://www.cnblogs.com/WJ1234/p/5284817.html
Copyright © 2020-2023  润新知