zoukankan      html  css  js  c++  java
  • 第四次作业

    一、需求分析 

    用户还可以自行输入所要计时的时间,从而进行倒计时;

    单击停止按钮时也会弹出统计结果;

    用户还可以自行输入随机数的产生范围;

    运算符号的随机产生;

    用户还可以选择是否加括号!分为前两个数加和后两个数加。

    二、设计思路

    先创建From1再设计From2;

    编写代码先From1 中随机数、算法、定时器、结果的判断正确;

    然后From2正确题数、总题数、正确率的值。

    三、代码实现

    From1

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    namespace 混合运算
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
            //定义变量
            public static int t;
            public static int m;
            public static int count=-1;
            public static int right=0;
            public void suanfa() //算法
            {
                Random s = new Random();
                int d, h;
                d = s.Next(1,5);
                h = s.Next(1,5);
                if (d == 1) 
                {
                    label4.Text = "+";
                }
                if (d == 2)
                {
                    label4.Text = "-";
                }
                if (d == 3)
                {
                    label4.Text = "*";
                }
                if (d == 4)
                {
                    label4.Text = "/";
                }
                if (h == 1)
                {
                    label8.Text = "+";
                }
                if (h == 2)
                {
                    label8.Text = "-";
                }
                if (h == 3)
                {
                    label8.Text = "*";
                }
                if (h == 4)
                {
                    label8.Text = "/";
                }
            }
            public void shu() //输出两个随机数
            {
                Random  s = new Random();
                int n1, n2, n3;
                int a = int.Parse(textBox3.Text)+1;
                int b = int.Parse(textBox4.Text)+1;
                n1 = s.Next(a,b);
                n2 = s.Next(a,n1);
                n3 = s.Next(n2,b);
                label3.Text = n1.ToString();
                label6.Text = n2.ToString();
                label9.Text = n3.ToString();
                textBox2.Text = "";
                count++;
            }
            private void timer1_Tick(object sender, EventArgs e)//定时器
            {
                if (t <= 0)
                {
                    timer1.Enabled = false;
                    textBox2.Enabled = false;
                    MessageBox.Show("时间到!");
                    Form2 da = new Form2();
                    da.ShowDialog();
    
                }
                t = t - 1;
                textBox1.Text = t.ToString();
            }
            private void button1_Click(object sender, EventArgs e)
            {
                int c=int.Parse(textBox1.Text);
                t = c;
                timer1.Enabled = true;
                timer1.Interval = 1000;
                timer1.Start();
                shu();
                suanfa();
            }
            private void textBox2_KeyDown(object sender, KeyEventArgs e)
            {   
                if (e.KeyCode == Keys.Enter)
                {
                    if(textBox2.Text==m.ToString())
                    {
                        right++;
                    }
                    shu();
                    suanfa();
                }
                string k=label4.Text;
                string l=label8.Text;
                string n=k+l;
                
                if (comboBox1.Text == "前两个加")
                {
                    if (n == "+*")
                    {
                        m = (int.Parse(label3.Text) + int.Parse(label6.Text)) * int.Parse(label9.Text);
                    }
                    if (n == "+/")
                    {
                        m = (int.Parse(label3.Text) + int.Parse(label6.Text)) / int.Parse(label9.Text);
                    }
                    if (n == "-*")
                    {
                        m = (int.Parse(label3.Text) - int.Parse(label6.Text)) * int.Parse(label9.Text);
                    }
                    if (n == "-/")
                    {
                        m = (int.Parse(label3.Text) - int.Parse(label6.Text)) / int.Parse(label9.Text);
                    }
                    if (n == "++")
                    {
                        m = (int.Parse(label3.Text) + int.Parse(label6.Text)) + int.Parse(label9.Text);
                    }
                    if (n == "+-")
                    {
                        m = (int.Parse(label3.Text) + int.Parse(label6.Text)) - int.Parse(label9.Text);
                    }
                    if (n == "--")
                    {
                        m = (int.Parse(label3.Text) - int.Parse(label6.Text)) - int.Parse(label9.Text);
                    }
                    if (n == "-+")
                    {
                        m = (int.Parse(label3.Text) - int.Parse(label6.Text)) + int.Parse(label9.Text);
                    }
                    if (n == "**")
                    {
                        m = (int.Parse(label3.Text) * int.Parse(label6.Text)) * int.Parse(label9.Text);
                    }
                    if (n == "*/")
                    {
                        m = (int.Parse(label3.Text) * int.Parse(label6.Text)) / int.Parse(label9.Text);
                    }
                    if (n == "/*")
                    {
                        m = (int.Parse(label3.Text) / int.Parse(label6.Text)) * int.Parse(label9.Text);
                    }
                    if (n == "//")
                    {
                        m = (int.Parse(label3.Text) / int.Parse(label6.Text)) / int.Parse(label9.Text);
                    }
                    if (n == "*+")
                    {
                        m = (int.Parse(label3.Text) * int.Parse(label6.Text)) + int.Parse(label9.Text);
                    }
                    if (n == "*-")
                    {
                        m = (int.Parse(label3.Text) * int.Parse(label6.Text)) - int.Parse(label9.Text);
                    }
                    if (n == "/+")
                    {
                        m = (int.Parse(label3.Text) / int.Parse(label6.Text)) + int.Parse(label9.Text);
                    }
                    if (n == "/-")
                    {
                        m = (int.Parse(label3.Text) / int.Parse(label6.Text)) - int.Parse(label9.Text);
                    }
                }
                if (comboBox1.Text == "后两个加") 
                {
                    if (n == "++")
                    {
                        m = int.Parse(label3.Text) + (int.Parse(label6.Text) + int.Parse(label9.Text));
                    }
                    if (n == "+*")
                    {
                        m = int.Parse(label3.Text) + (int.Parse(label6.Text) * int.Parse(label9.Text));
                    }
                    if (n == "+/")
                    {
                        m = int.Parse(label3.Text) + (int.Parse(label6.Text) / int.Parse(label9.Text));
                    }
                    if (n == "+-")
                    {
                        m = int.Parse(label3.Text) + (int.Parse(label6.Text) - int.Parse(label9.Text));
                    }
                    if (n == "--")
                    {
                        m = int.Parse(label3.Text) - (int.Parse(label6.Text) - int.Parse(label9.Text));
                    }
                    if (n == "-*")
                    {
                        m = int.Parse(label3.Text) - (int.Parse(label6.Text) * int.Parse(label9.Text));
                    }
                    if (n == "-/")
                    {
                        m = int.Parse(label3.Text) - (int.Parse(label6.Text) / int.Parse(label9.Text));
                    }
                    if (n == "-+")
                    {
                        m = int.Parse(label3.Text) - (int.Parse(label6.Text) + int.Parse(label9.Text));
                    }
                    if (n == "**")
                    {
                        m = int.Parse(label3.Text) * (int.Parse(label6.Text) * int.Parse(label9.Text));
                    }
                    if (n == "*/")
                    {
                        m = int.Parse(label3.Text) * (int.Parse(label6.Text) / int.Parse(label9.Text));
                    }
                    if (n == "/*")
                    {
                        m = int.Parse(label3.Text) / (int.Parse(label6.Text) * int.Parse(label9.Text));
                    }
                    if (n == "*+")
                    {
                        m = int.Parse(label3.Text) * (int.Parse(label6.Text) + int.Parse(label9.Text));
                    }
                    if (n == "*-")
                    {
                        m = int.Parse(label3.Text) * (int.Parse(label6.Text) - int.Parse(label9.Text));
                    }
                    if (n == "/-")
                    {
                        m = int.Parse(label3.Text) / (int.Parse(label6.Text) - int.Parse(label9.Text));
                    } 
                    if (n == "/+")
                    {
                        m = int.Parse(label3.Text) / (int.Parse(label6.Text) + int.Parse(label9.Text));
                    }
                    if (n == "//")
                    {
                        m = int.Parse(label3.Text) / (int.Parse(label6.Text) / int.Parse(label9.Text));
                    }
                }
                if(comboBox1.Text=="不加")
                {
                    if (n == "++")
                    {
                        m = int.Parse(label3.Text) + int.Parse(label6.Text) + int.Parse(label9.Text);
                    }
                    if (n == "+*")
                    {
                        m = int.Parse(label3.Text) + int.Parse(label6.Text) * int.Parse(label9.Text);
                    }
                    if (n == "+/")
                    {
                        m = int.Parse(label3.Text) + int.Parse(label6.Text) / int.Parse(label9.Text);
                    }
                    if (n == "+-")
                    {
                        m = int.Parse(label3.Text) + int.Parse(label6.Text) - int.Parse(label9.Text);
                    }
                    if (n == "--")
                    {
                        m = int.Parse(label3.Text) - int.Parse(label6.Text) - int.Parse(label9.Text);
                    }
                    if (n == "-*")
                    {
                        m = int.Parse(label3.Text) - int.Parse(label6.Text) * int.Parse(label9.Text);
                    }
                    if (n == "-/")
                    {
                        m = int.Parse(label3.Text) - int.Parse(label6.Text) / int.Parse(label9.Text);
                    }
                    if (n == "-+")
                    {
                        m = int.Parse(label3.Text) - int.Parse(label6.Text) + int.Parse(label9.Text);
                    }
                    if (n == "**")
                    {
                        m = int.Parse(label3.Text) * int.Parse(label6.Text) * int.Parse(label9.Text);
                    }
                    if (n == "*/")
                    {
                        m = int.Parse(label3.Text) * int.Parse(label6.Text) / int.Parse(label9.Text);
                    }
                    if (n == "/*")
                    {
                        m = int.Parse(label3.Text) / int.Parse(label6.Text) * int.Parse(label9.Text);
                    }
                    if (n == "*+")
                    {
                        m = int.Parse(label3.Text) * int.Parse(label6.Text) + int.Parse(label9.Text);
                    }
                    if (n == "*-")
                    {
                        m = int.Parse(label3.Text) * int.Parse(label6.Text) - int.Parse(label9.Text);
                    }
                    if (n == "/-")
                    {
                        m = int.Parse(label3.Text) / int.Parse(label6.Text) - int.Parse(label9.Text);
                    }
                    if (n == "/+")
                    {
                        m = int.Parse(label3.Text) / int.Parse(label6.Text) + int.Parse(label9.Text);
                    }
                    if (n == "//")
                    {
                        m = int.Parse(label3.Text) / int.Parse(label6.Text) / int.Parse(label9.Text);
                    }
                }
            }
            private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
            {
                if( comboBox1.Text=="前两个加")
                {
                    label2.Text = "(";
                    label5.Text = "";
                    label7.Text = ")";
                    label10.Text = "";
                }
                if (comboBox1.Text == "后两个加")
                {
                    label2.Text = "";
                    label5.Text = "(";
                    label7.Text = "";
                    label10.Text = ")";
                }
                if (comboBox1.Text == "不加")
                {
                    label2.Text = "";
                    label5.Text = "";
                    label7.Text = "";
                    label10.Text = "";
                }
            }
            private void button2_Click(object sender, EventArgs e)
            {
                timer1.Enabled = false;
                textBox2.Enabled = false;
                Form2 da = new Form2();
                da.ShowDialog();
            }
        }
    }

     From2

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    namespace 混合运算
    {
        public partial class Form2 : Form
        {
            public Form2()
            {
                InitializeComponent();
            }
    
            private void Form2_Load(object sender, EventArgs e)
            {
                textBox1.Text = Form1.count.ToString();
                textBox2.Text = Form1.right.ToString();
                textBox3.Text = ((Form1.right / (double)(Form1.count)) * 100).ToString() + "%";
                
            }
        }
    }
    

     四、测试

    五、

    PSP2.1 Personal Software Process Stages Time(h)
    Planning 计划 6
      • Estimate 估计这个任务需要多长时间 8
    Development 开发  
      • Analysis 需求分析 1
      • Design Spec 生成设计文档  
      • Coding Standard 代码规范 1
      • Design 具体设计 1.5
      • Coding 具体代码 3
      • Code Review 代码复审 0.5
      • Text 测试 1.5
    Reporting 报告  
      • Test Report 测试报告  
      • Size Measurement 计算工作量

    0.5

      • Postmortem 事后总结

    1

    六、总结

    这次程序有好多问题 ,就实现了混合运算,不重复、不为负数都没实现不知道该如何去做,希望您给点意见。

  • 相关阅读:
    C++ 声明、定义、初始化、赋值
    skynet源码赏析
    python基础6函数 柒哥
    Python基础4数据类型详解下 柒哥
    Python基础1变量 柒哥
    Python基础2数据类型 柒哥
    Python基础3数据类型详解上 柒哥
    Python基础5条件分支与循环 柒哥
    PHP面试(A02)
    Envoy 配置
  • 原文地址:https://www.cnblogs.com/fanxiaotian/p/4908050.html
Copyright © 2011-2022 走看看