结对程序编程-四则运算

根据冯老师给出的作业我们解决了最基本的功能以及基本设定参数:

1) 题目的数量(个人项目的要求)

2) 数值的范围(个人项目的要求)

3) 题目中最多几个运算符

4) 题目中是否有乘除法

5) 题目中有无负数

我们本次两个小组合作完成本次作业,我们小组主要负责以下功能:

1) public void Build_NoMul_NoDiv_NoMinus函数

2) public void Build_Mul_Div_Minus函数

3)private string Getstr2函数

1.主要页面

2.大体的设计

3.函数代码

1)public void Build_NoMul_NoDiv_NoMinus函数

 public void Build_NoMul_NoDiv_NoMinus(int cal) {
            if (cal == 1)
            {
                int[] num1;
                int[] num2;
                int i, r1, r2;
                int n = int.Parse(textSum.Text);
                Random r = new Random();
                num1 = new int[100];
                num2 = new int[100];
                for (i = 0; i < n; i++)
                {

                    r1 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    r2 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    int s = r1 + r2;
                    if ((r1>r2&&s > 0)&&(r1!=0&&r2!=0))
                    {
                        num1[i] = r1; num2[i] = r2;
                    }
                    else {
                        i--;
                        continue;
                    }
                }
                for (i = 0; i < n; i++)
                {

                    if (num1[i] != 0&&num2[i]!=0)
                    {

                        listView1.Items.Add("("+num1[i]+")" + Getstr1(1) +"("+ num2[i]+")"+"=");
                    }

                }

            }
            if (cal == 2) {
                int[] num1;
                int[] num2;
                int[] num3;
                int i, r1, r2,r3;
                int n = int.Parse(textSum.Text);
                Random r = new Random();
                num1 = new int[100];
                num2 = new int[100];
                num3 = new int[100];
                for (i = 0; i < n; i++)
                {

                    r1 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    r2 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    r3 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    int s = r1 + r2 + r3;
                    if ((r1>(r2+r3)&&(r2*r3>0)&&s > 0)&&(r1 != 0&&r2 != 0&&r3 != 0))
                    {
                        num1[i] = r1; num2[i] = r2; num3[i] = r3;
                    }
                    else
                    {
                        i--;
                        continue;
                    }
                }
                for (i = 0; i < n; i++)
                {

                    if (num1[i] != 0 && num2[i] != 0&&num3[i] != 0)
                    {

                        listView1.Items.Add("(" + num1[i] + ")" + Getstr1(1) + "(" + num2[i] + ")" + Getstr1(1) + "(" + num3[i] + ")"+"=");
                    }

                }
            }
            if (cal == 3) {
                int[] num1;
                int[] num2;
                int[] num3;
                int[] num4;
                int i, r1, r2, r3,r4;
                int n = int.Parse(textSum.Text);
                Random r = new Random();
                num1 = new int[100];
                num2 = new int[100];
                num3 = new int[100];
                num4 = new int[100];
                for (i = 0; i < n; i++)
                {

                    r1 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    r2 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    r3 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    r4 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    int s1 = r1 + r2;
                    int s2 = r3 + r4;
                    if ((r1>r2&&s1 > 0&&r3>r4&&s2>0) && (r1 != 0&& r2 != 0 &&r3!=0 &&r4!=0))
                    {
                        num1[i] = r1; num2[i] = r2; num3[i] = r3; num4[i] = r4;
                    }
                    else
                    {
                        i--;
                        continue;
                    }

                }
                for (i = 0; i < n; i++)
                {
                    if (num1[i] != 0 && num2[i] != 0 && num3[i] != 0&&num4[i]!=0)
                    listView1.Items.Add("(" + num1[i] + ")" + Getstr1(1) + "(" + num2[i] + ")" + Getstr1(1) + "(" + num3[i] + ")" + Getstr1(1) + "(" + num4[i] + ")"+"=");

                }
            }
            if (cal == 4) {

                int[] num1;
                int[] num2;
                int[] num3;
                int[] num4;
                int[] num5;
                int i, r1, r2, r3, r4,r5;
                int n = int.Parse(textSum.Text);
                Random r = new Random();
                num1 = new int[100];
                num2 = new int[100];
                num3 = new int[100];
                num4 = new int[100];
                num5 = new int[100];
                for (i = 0; i < n; i++)
                {

                    r1 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    r2 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    r3 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    r4 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    r5 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    int s=r1+r2+r3+r4+r5;
                    int s1 = r1 + r2;
                    int s2 = r3 + r4;
                    if ((r1>r2&&r3>r4&&s1>0&&s2>0&&s1>(s2+r5)&&s>0&&s2*r5>0) && (r1 != 0&&r2 != 0&&r3 != 0&&r4 != 0&&r5 != 0))
                    {
                        num1[i] = r1; num2[i] = r2; num3[i] = r3; num4[i] = r4; num5[i] = r5;
                    }
                    else
                    {
                        i--;
                        continue;
                    }

                }
                for (i = 0; i < n; i++)
                {
                    if (num1[i] != 0 && num2[i] != 0 && num3[i] != 0 && num4[i] != 0&&num5[i]!=0)
                    listView1.Items.Add("(" + num1[i] + ")" + Getstr1(1) + "(" + num2[i] + ")" + Getstr1(1) + "(" + num3[i] + ")" + Getstr1(1) + "(" + num4[i] + ")" + Getstr1(1) + "(" + num5[i] + ")"+"=");

                }
            }
            if (cal == 5) {

                int[] num1;
                int[] num2;
                int[] num3;
                int[] num4;
                int[] num5;
                int[] num6;
                int i, r1, r2, r3, r4, r5,r6;
                int n = int.Parse(textSum.Text);
                Random r = new Random();
                num1 = new int[100];
                num2 = new int[100];
                num3 = new int[100];
                num4 = new int[100];
                num5 = new int[100];
                num6 = new int[100];
                for (i = 0; i < n; i++)
                {

                    r1 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    r2 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    r3 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    r4 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    r5 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    r6 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    int s = r1 + r2 + r3 + r4 + r5 + r6;
                    int s1 = r1 + r2;
                    int s2 = r3 + r4;
                    int s3 = r5 + r6;
                    if ((r1>r2&&s1>0&&r3>r4&&s2>0&&r5>r6&&s3>0) && (r1 != 0&&r2 != 0&&r3 != 0&&r4 != 0&&r5 != 0&& r6 != 0))
                    {
                        num1[i] = r1; num2[i] = r2; num3[i] = r3; num4[i] = r4; num5[i] = r5; num6[i] = r6;
                    }
                    else
                    {
                        i--;
                        continue;
                    }

                }
                for (i = 0; i < n; i++)
                {
                    listView1.Items.Add("(" + num1[i] + ")" + Getstr1(1) + "(" + num2[i] + ")" + Getstr1(1) + "(" + num3[i] + ")" + Getstr1(1) + "(" + num4[i] + ")" + Getstr1(1) + "(" + num5[i] + ")" + Getstr1(1) + "(" + num6[i] + ")"+"=");

                }

            } 

        }

2)public void Build_Mul_Div_Minus函数
public void Build_Mul_Div_Minus(int cal)
        {

            if (cal == 1)
            {
                int[] num1;
                int[] num2;
                int i, r1, r2;
                int n = int.Parse(textSum.Text);
                Random r = new Random();
                num1 = new int[100];
                num2 = new int[100];
                for (i = 0; i < n; i++)
                {

                    r1 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    r2 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    int s = r1 + r2;
                    if (r1 != 0 && r2 != 0)
                    {
                        num1[i] = r1; num2[i] = r2;
                    }
                    else
                    {
                        i--;
                        continue;
                    }
                }
                for (i = 0; i < n; i++)
                {

                    if (num1[i] != 0 && num2[i] != 0)
                    {

                        listView1.Items.Add("(" + num1[i] + ")" + Getstr2(1) + "(" + num2[i] + ")" + "=");
                    }

                }

            }
            if (cal == 2)
            {
                int[] num1;
                int[] num2;
                int[] num3;
                int i, r1, r2, r3;
                int n = int.Parse(textSum.Text);
                Random r = new Random();
                num1 = new int[100];
                num2 = new int[100];
                num3 = new int[100];
                for (i = 0; i < n; i++)
                {

                    r1 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    r2 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    r3 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    if (r1 != 0 && r2 != 0 && r3 != 0)
                    {
                        num1[i] = r1; num2[i] = r2; num3[i] = r3;
                    }
                    else
                    {
                        i--;
                        continue;
                    }
                }
                for (i = 0; i < n; i++)
                {

                    if (num1[i] != 0 && num2[i] != 0 && num3[i] != 0)
                    {

                        listView1.Items.Add("(" + num1[i] + ")" + Getstr2(1) + "(" + num2[i] + ")" + Getstr2(1) + "(" + num3[i] + ")" + "=");
                    }

                }
            }
            if (cal == 3)
            {
                int[] num1;
                int[] num2;
                int[] num3;
                int[] num4;
                int i, r1, r2, r3, r4;
                int n = int.Parse(textSum.Text);
                Random r = new Random();
                num1 = new int[100];
                num2 = new int[100];
                num3 = new int[100];
                num4 = new int[100];
                for (i = 0; i < n; i++)
                {

                    r1 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    r2 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    r3 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    r4 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    if (r1 != 0 && r2 != 0 && r3 != 0 && r4 != 0)
                    {
                        num1[i] = r1; num2[i] = r2; num3[i] = r3; num4[i] = r4;
                    }
                    else
                    {
                        i--;
                        continue;
                    }

                }
                for (i = 0; i < n; i++)
                {
                    if (num1[i] != 0 && num2[i] != 0 && num3[i] != 0 && num4[i] != 0)
                        listView1.Items.Add("(" + num1[i] + ")" + Getstr2(1) + "(" + num2[i] + ")" + Getstr2(1) + "(" + num3[i] + ")" + Getstr2(1) + "(" + num4[i] + ")" + "=");

                }
            }
            if (cal == 4)
            {

                int[] num1;
                int[] num2;
                int[] num3;
                int[] num4;
                int[] num5;
                int i, r1, r2, r3, r4, r5;
                int n = int.Parse(textSum.Text);
                Random r = new Random();
                num1 = new int[100];
                num2 = new int[100];
                num3 = new int[100];
                num4 = new int[100];
                num5 = new int[100];
                for (i = 0; i < n; i++)
                {

                    r1 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    r2 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    r3 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    r4 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    r5 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    if (r1 != 0 && r2 != 0 && r3 != 0 && r4 != 0 && r5 != 0)
                    {
                        num1[i] = r1; num2[i] = r2; num3[i] = r3; num4[i] = r4; num5[i] = r5;
                    }
                    else
                    {
                        i--;
                        continue;
                    }

                }
                for (i = 0; i < n; i++)
                {
                    if (num1[i] != 0 && num2[i] != 0 && num3[i] != 0 && num4[i] != 0 && num5[i] != 0)
                        listView1.Items.Add("(" + num1[i] + ")" + Getstr2(1) + "(" + num2[i] + ")" + Getstr2(1) + "(" + num3[i] + ")" + Getstr2(1) + "(" + num4[i] + ")" + Getstr2(1) + "(" + num5[i] + ")" + "=");

                }
            }
            if (cal == 5)
            {

                int[] num1;
                int[] num2;
                int[] num3;
                int[] num4;
                int[] num5;
                int[] num6;
                int i, r1, r2, r3, r4, r5, r6;
                int n = int.Parse(textSum.Text);
                Random r = new Random();
                num1 = new int[100];
                num2 = new int[100];
                num3 = new int[100];
                num4 = new int[100];
                num5 = new int[100];
                num6 = new int[100];
                for (i = 0; i < n; i++)
                {

                    r1 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    r2 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    r3 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    r4 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    r5 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    r6 = r.Next(int.Parse(textF.Text), int.Parse(textT.Text));
                    if (r1 != 0 && r2 != 0 && r3 != 0 && r4 != 0 && r5 != 0 && r6 != 0)
                    {
                        num1[i] = r1; num2[i] = r2; num3[i] = r3; num4[i] = r4; num5[i] = r5; num6[i] = r6;
                    }
                    else
                    {
                        i--;
                        continue;
                    }

                }
                for (i = 0; i < n; i++)
                {
                    listView1.Items.Add("(" + num1[i] + ")" + Getstr2(1) + "(" + num2[i] + ")" + Getstr2(1) + "(" + num3[i] + ")" + Getstr2(1) + "(" + num4[i] + ")" + Getstr2(1) + "(" + num5[i] + ")" + Getstr2(1) + "(" + num6[i] + ")" + "=");

                }

            }
        }

3)private string Getstr2函数
 private string Getstr2(int num)
        {

            string result = "";
            for (int i = 0; i < num; i++)
            {
                int r = r10.Next(strs2.Length);
                result += strs2[r];
            }
            return result;

        }

4.个人感想

这次作业对于我来说很难应为我的底子太差了许多代码看不懂,如果没有李红亮同学帮我可能我根本完不成这次作业。我打算加紧学习C语言,不能连代码都看不懂。
时间: 2025-01-05 21:13:10

结对程序编程-四则运算的相关文章

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

项目名称:结对编程——四则运算(GUI) 同学小伙伴:张富彬 博客园地址:http://www.cnblogs.com/legend07/ GitHub代码地址:https://github.com/8561549/Arithmetic2.0/tree/master/Arithmetic2.0 需求分析: 首先是实现GUI的界面设计,主要有两个窗体,一个窗体进行参数设计,另一个窗体负责显示题目.两个窗体之间实现自由跳转.在参数设置窗口可以获取各个控件中的信息,能对出题窗口的出题情况进行限制,其中

20165322 结对编程-四则运算 阶段总结

结队编程-四则运算 阶段总结 学习笔记 中缀表达式转换为后缀表达式 如果遇到数字,我们就直接将其输出. 如果遇到非数字时,若栈为空或者该符号为左括号或者栈顶元素为括号,直接入栈. 如果遇到一个右括号,持续出栈并输出符号,直到栈顶元素为左括号,然后将左括号出栈(注意,左括号只出栈,不输出),右括号不入栈. 如果遇到运算符号且栈非空,查看栈顶元素,如果栈顶元素的运算优先级大于或者等于该运算符号,则持续出栈,直到栈顶元素优先级小于该运算符.最后将该元素入栈. 如果我们读到了输入的末尾,则将栈中所有元素

结对编程——四则运算(第一周)

结对编程--四则运算(第一周) 需求分析 题目要求 一个命令行程序实现: 自动生成小学四则运算题目(加.减.乘.除) 支持整数 支持多运算符(比如生成包含100个运算符的题目) 支持真分数 统计正确率 需求理解 输入:需要计算的式子数.计算结果 输出:判断后的答案(true/false) 满足真分数的运算如:1/3 + 1/4 = 7/12 处理的运算符为 +, ?, ×, ÷ 能处理用户的输入,并判断对错,统计正确率. 设计思路 自动生成四则运算,需要用到随机数,用随机数随机生成数字,以及随机

20172316 结对编程-四则运算 第一周 阶段总结

20172316 结对编程-四则运算 第一周 阶段总结 1.项目内容 以结对小组形式编写代码,实现以下功能: 1.自动生成题目 可独立使用(能实现自己编写测试类单独生成题目的功能) 可生成不同等级题目,类似于: 1级题目:2 + 5 = 10 - 5 = 之类的两个数,一个运算符的题目 2.题目运算(判题) 可独立使用 实现中缀表达式转为后缀表达式并计算 判断用户答题正误,并输出正确结果 3.支持真分数 可独立使用 实现分数算式的计算 4.题目去重(扩展需求,加分项) 可独立使用 实现对自动生成

20172316 结对编程-四则运算 第二周 阶段总结

20172316 结对编程-四则运算 第二周 阶段总结 1.项目内容 以结对小组形式编写代码,实现以下功能: 1.自动生成题目 2.题目运算(判题) 3.支持真分数 4.生成题目添加括号 5.题目去重(扩展需求,加分项) 6.文件处理(扩展需求,自行学习,加分项) 相关过程截图 最开始的代码名称十分不规范,有的使用拼音,有的使用英文,有的不知所云,其他组员第一次看见名称时不容易理解和衔接起来: 出现了两个程序之间符号表示的差异,对于式子的值的计算有很大影响: 结对评价 唐才铭 王文彬 关键代码解

结对编程--四则运算(Java实现)

结对编程--四则运算(Java实现) 四则运算 (JAVA ) By 梅进鹏 欧思良 Github项目地址:https://github.com/MeiJinpen/Arithmetic 功能要求 题目:实现一个自动生成小学四则运算题目的命令行程序 功能(已全部实现) 使用 -n 参数控制生成题目的个数 使用 -r 参数控制题目中数值(自然数.真分数和真分数分母)的范围(此处感觉一个参数不太合理,因此改用 -r 参数控制自然数.带分数整数部分的范围,又额外添加了 -d 参数控制分数分母的范围,增

结对编程-四则运算 第一周总结

结对编程-四则运算 第一周总结 小组成员 20172313 余坤澎 20172332 于欣月 20172326 康皓越 需求分析 可以生成不同种类的题目 根据用户的需求来生成不同的题目 计算时生成真分数和整数,且结果为分数形式输出 可以输出括号 可以判断用户的正确 设计思路 第一种 设计一个level1类,只负责加减 设计一个level2类,只负责乘除 设计一个level3类,只负责加减乘除 设计一个转化类,将上述的类生成的表达式转换成计算式 比对结果类 缺点 在将括号进行插入时出现问题,难以将

20165322 第二周结队编程-四则运算

结对编程-四则运算 整体总结 学习笔记 中缀表达式转换为后缀表达式 如果遇到数字,我们就直接将其输出. 如果遇到非数字时,若栈为空或者该符号为左括号或者栈顶元素为括号,直接入栈. 如果遇到一个右括号,持续出栈并输出符号,直到栈顶元素为左括号,然后将左括号出栈(注意,左括号只出栈,不输出),右括号不入栈. 如果遇到运算符号且栈非空,查看栈顶元素,如果栈顶元素的运算优先级大于或者等于该运算符号,则持续出栈,直到栈顶元素优先级小于该运算符.最后将该元素入栈. 如果我们读到了输入的末尾,则将栈中所有元素

linux 2440 LCD 应用程序编程

一.Linux的帧缓冲设备 帧缓冲(framebuffer)是 Linux 为显示设备提供的一个接口,把显存抽象后的一种设备,他允许上层应用程序在图形模式下直接对显示缓冲区进行读写操作.这种操作是抽象的,统一的.用户不必关心物理显存的位置.换页机制等等具体细节.这些都是由Framebuffer 设备驱动来完成的.帧缓冲驱动的应用广泛,在 linux 的桌面系统中,Xwindow 服务器就是利用帧缓冲进行窗口的绘制.尤其是通过帧缓冲可显示汉字点阵,成为 Linux汉化的唯一可行方案. 帧缓冲设备对