作业四:结对编程项目---四则运算

经过一段时间的学习和查阅资料,我跟小伙伴终于完成了这项任务,虽然过程磕磕绊绊,但最终还是把程序调试了出来。

下面是我的代码:(C#)

namespace _SZYS1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        public static int Count = 0;
        public static int right = 0;
        public static int fault = 0;
     PRivate void RandomNum()
        {
            Random ran = new Random();
            int a, b; string m;
            a = ran.Next(int.Parse(textBox4.Text), int.Parse(textBox5.Text));
            b = ran.Next(int.Parse(textBox4.Text), int.Parse(textBox5.Text));
            if (a >= b)
            {
                textBox1.Text = a.ToString();
                textBox2.Text = b.ToString();
                textBox3.Text = "";
                Count++;
                textBox6.Text = Form1.Count.ToString();

                if (textBox7.Text == textBox6.Text)
                {
                    MessageBox.Show("你已做完计算!");

                }

            }
            else if (a < b)
            {
                m = b.ToString();
                textBox2.Text = a.ToString();
                textBox1.Text = m;
                textBox3.Text = "";
                Count++;
                textBox6.Text = Form1.Count.ToString();
                if (textBox7.Text == textBox6.Text)
                {
                    MessageBox.Show("你已做完计算!");

                }
            }

        }
        private void timer1_Tick(object sender, EventArgs e)
        {
            if (Convert.ToInt32(textBox8.Text) <= 0)
            {
                  timer1.Enabled = false;
                  textBox3.Enabled = false;
                  MessageBox.Show("时间到!");
                  textBox3.Enabled = false;
                  Form2 frm2 = new Form2();
                  frm2.ShowDialog()

            }

              int t = Convert.ToInt32(textBox8.Text);

              t = t - 1;

              textBox8.Text = t.ToString();

        }

private void textBox3_KeyDown(object sender, KeyEventArgs e)
        {
            int sum = 0;
            string m = label3.Text;

            if (m == "+")
            {

                sum = int.Parse(textBox1.Text) + int.Parse(textBox2.Text);
                if (e.KeyCode == Keys.Enter)
                {
                    if (textBox3.Text == sum.ToString())
                    {
                        right++;

                        RandomNum();
                    }
                    else
                    {
                        fault++;
                        RandomNum();
                    }
                }
            }

            else if (m == "-")
            {
                sum = int.Parse(textBox1.Text) - int.Parse(textBox2.Text);
                if (e.KeyCode == Keys.Enter)
                {
                    if (textBox3.Text == sum.ToString())
                    {
                        right++;

                        RandomNum();
                    }
                    else
                    {
                        fault++;
                        RandomNum();
                    }
                }
            }

            else if (m == "x")
            {
                sum = int.Parse(textBox1.Text) * int.Parse(textBox2.Text);
                if (e.KeyCode == Keys.Enter)
                {
                    if (textBox3.Text == sum.ToString())
                    {
                        right++;

                        RandomNum();
                    }
                    else
                    { fault++;
                    RandomNum();
                    }
                }
            }

            else
            {
                sum = int.Parse(textBox1.Text) / int.Parse(textBox2.Text);

            }

        }
        private void button1_Click(object sender, EventArgs e)
        {
            label3.Text = "+";
            int t = Convert.ToInt32(textBox8.Text);
            label2.Text = t.ToString();
            timer1.Enabled = true;
            timer1.Interval = 1000;
            timer1.Start();
            RandomNum();
        }
        private void button2_Click(object sender, EventArgs e)
        {
            label3.Text = "-";
            int t = Convert.ToInt32(textBox8.Text);
            label2.Text = t.ToString();
            timer1.Enabled = true;
            timer1.Interval = 1000;
            timer1.Start();
            RandomNum();

        }
        private void button3_Click(object sender, EventArgs e)
        {
            label3.Text = "x";
            int t = Convert.ToInt32(textBox8.Text);
            label2.Text = t.ToString();
            timer1.Enabled = true;
            timer1.Interval = 1000;
            timer1.Start();
            RandomNum();
        }
        private void button4_Click(object sender, EventArgs e)
        {

            label3.Text = "/";
            int t = Convert.ToInt32(textBox8.Text);
            label2.Text = t.ToString();
            timer1.Enabled = true;
            timer1.Interval = 1000;
            timer1.Start();
            Random ran = new Random();
            int a, b; string m;
            a = ran.Next(int.Parse(textBox4.Text), int.Parse(textBox5.Text));
            b = ran.Next(int.Parse(textBox4.Text), int.Parse(textBox5.Text));
            if (b != 0)
            {
                textBox1.Text = a.ToString();
                textBox2.Text = b.ToString();
                textBox3.Text = "";
                Count++;
                textBox6.Text = Form1.Count.ToString();
                if (textBox7.Text == textBox6.Text)
                {
                    MessageBox.Show("你已做完计算!");
                }
            }
            else
            {
                m = b.ToString();
                textBox2.Text = a.ToString();
                textBox1.Text = m;
                textBox3.Text = "";
                Count++;
                textBox6.Text = Form1.Count.ToString();
                if (textBox7.Text == textBox6.Text)
                {
                    MessageBox.Show("你已做完计算!");
                }
            }
        }
        private void button7_Click(object sender, EventArgs e)
        {
            Form2 frm2 = new Form2();
            frm2.ShowDialog();
        }       private void textBox4_TextChanged(object sender, EventArgs e)
        {
            int result;
            if (int.TryParse(textBox4.Text, out result) == false)
            {
                if (!(textBox4.Text == ""))
                {
                    MessageBox.Show("请输入数字!", "提示");
                    textBox4.Clear();
                }
            }
        }
        private void textBox5_TextChanged(object sender, EventArgs e)
        {
            int result;
            if (int.TryParse(textBox5.Text, out result) == false)
            {
                if (!(textBox5.Text == ""))
                {
                    MessageBox.Show("请输入数字!", "提示");
                    textBox5.Clear();
                }
            }
        }
        private void textBox7_TextChanged(object sender, EventArgs e)
        {
             int result;
            if (int.TryParse(textBox7.Text, out result) ==false)
            {
                if (!(textBox7.Text == ""))
                {
                    MessageBox.Show("请输入数字!", "提示");
                    textBox7.Clear();
                }
            }
        }

        private void button5_Click(object sender, EventArgs e)
        {
            textBox1.Clear();
            textBox2.Clear();
            textBox3.Clear();
            textBox4.Clear();
            textBox5.Clear();
            textBox7.Clear();

        }
      }
}

  我的界面截图 :

时间: 2025-01-03 22:42:50

作业四:结对编程项目---四则运算的相关文章

作业四: 结对编程项目---四则运算

队友  史劭聪 import java.awt.BorderLayout; import java.awt.Container; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; im

作业四——结对编程四则运算

1. 结对编程项目---四则运算 此次编程项目的结队伙伴是方春阳 学号:130201129 计科13-1 博客地址 http://www.cnblogs.com/fcy29/ 根据要求我们设计了以下程序: 主界面: 在该页面下,可以看到此四则运算的主要功能,可以自行选择数的范围,系统默认值为1-100之间,超出这个范围并未得以实现,输入要生成题目的数量,然后按要求选择在算式中是否有乘除.负数.括号及真分数等功能,选择完成后,选好生成方式,点击确定.就可在框中自动生成算式.单击退出按钮便可退出该程

20175209王梓鸿 结对编程项目—四则运算 第一周 阶段总结

20175209王梓鸿 结对编程项目-四则运算 第一周 阶段总结 一.需求分析 1.题目要求: 实现一个命令行程序,要求: 自动生成小学四则运算题目(加.减.乘.除) 支持整数 支持多运算符(比如生成包含100个运算符的题目) 支持真分数 统计正确率 扩展需求 文件 处理生成题目并输出到文件 完成题目后从文件读入并判题 多语言支持简体中文,繁體中文,English 生成题目去重 二.设计思路 1.编写背景及完成情况 在开始写设计思路之前,我觉得应该说一下我们编写的情况(可能有些跑题).这次结对的

20175325 第一周结对编程项目 四则运算

20175325 第一周结对编程项目 四则运算 一.需求分析: 能根据用户输入的数字生成四则运算的题目数量 能自动生成规定范围内的四则运算题目(加.减.乘.除) 能够判断四则运算的结果是否正确并进行数量统计 能多次生成四则运算题目 支持多运算符 用户能够选择是否开始答题 统计题目正确率 题目去重 多语言支持:简体中文, 繁體中文, English 文件: 处理生成题目并输出到文件 完成题目后从文件读入并判题 二.设计思路: 和之前所学的C语言中的四则运算方法作类比,在JAVA中运用了C语言里的一

20175325 第二周结对编程项目 四则运算

20175325 第二周结对编程项目 四则运算 一.需求分析: 实现一个命令行程序,要求: 自动生成小学四则运算题目(加.减.乘.除) 支持整数 支持多运算符(比如生成包含100个运算符的题目) 支持真分数 统计正确率 题目去重 能多次生成四则运算题目 能根据用户输入的数字生成四则运算的题目数量 多语言支持: 简体中文, 繁體中文, English 文件: 处理生成题目并输出到文件 完成题目后从文件读入并判题 用户能够选择是否开始答题 二. 设计思路: 产生随机数并且考虑符号的优先级. 能实现整

结对编程项目——四则运算

1. 结对编程项目---四则运算 (10分) 基本功能要求: 1) 实现一个带有用户界面的四则运算.2) 生成的题目不能重复.3) 支持负数,例如-1,-1/2,-3‘4/5等.(达成) 需要支持的基本设定参数 1) 题目的数量  2) 数值的范围  3) 题目中最多几个运算符(目前没有达成)  4) 题目中或运算过程中有无有分数(比如进行整数除法的时候不能除尽) 5) 题目中是否有乘除法  6) 题目中是否有括号 (目前没有达成) 7) 题目中或运算过程中有无负数         学习感受:

20165206 结对编程项目-四则运算 阶段一总结

20165206 结对编程项目-四则运算 阶段一总结 一.需求分析 通过命令行输入生成题目的数量,随机生成题目. 生成的题目不重复. 生成的四则运算题目支持整数.支持多运算符. 能够根据作答情况统计正确的个数. 二.设计思路 设计一个类来实现整数的四则运算. 用一个循环结构来生成随机数,生成题目. 设计一个类来比较输入的答案与正确答案是否一致. 判断做的题是否正确,并返回正确的个数. 设计单元测试,对代码进行测试及修改 UML图: 三.核心代码 生成随机数: while(true){ a=new

20165318 结对编程项目-四则运算 阶段总结

20165318 结对编程项目-四则运算 阶段总结 一.需求分析 能随机生成n道四则运算题目,n由使用者输入 支持整数和分数 支持多运算符 能够判断正误,错误时能提醒并输出正确答案 能计算出正确率 能多次生成题目,直到使用者选择退出 后续拓展的可能 题目去重 文件: 处理生成题目并输出到文件 完成题目后从文件读入并判题 多语言支持:简体中文, 繁體中文, English 二.设计思路(同时输出UML类图) 首先考虑生成题目. 随机生成题目,用到Random函数,生成题目应该是同时随机生成数字和四

20165230 结对编程项目-四则运算 整体总结

20165230 结对编程项目-四则运算 整体总结 一.需求分析 随机生成题目 生成的题目个数从命令行输入 用户可选择生成不同难度的题目,比如通过参数指定: (1) 运算符个数范围 (2) 运算符限定(小学一年级题目只生成 + - 题目) 能多次生成题目 题目运算(判题) 支持多运算符 支持整数 支持真分数 题目合法性判断 可独立使用 可用于测试生成题目的正确性 扩展需求 题目去重 支持多语言 处理生成题目并输出到文件 完成题目后从文件读入并判题 二.设计思路 设计一个IntNumber类,用来

20165202 结对编程项目-四则运算 第二周

一.码云链接 二.需求分析 实现一个命令行程序,要求: 自动生成小学四则运算题目(加.减.乘.除) 支持整数 支持多运算符(比如生成包含100个运算符的题目) 支持真分数 统计正确率 三.设计思路(同时输出UML类图) 这周的总体设计要在上周的基础上深化,上周我们的代码没有用到中缀表达式转后缀表达式,没有用到栈,所以这周不仅要对上一周的代码进行修改,而且还要在此基础上完成更深层的对真分数的要求. 实现四则运算中后缀转换类 实现四则运算后缀表达式计算类 实现四则运算真分数计算类 实现四则运算生成题