天天看點

結對程式設計項目-四則運算

根據馮老師給出的作業我們解決了最基本的功能以及基本設定參數:

   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.總結

    經過這兩周斷斷續續的學習軟體工程,終于完成了四則運算。在編碼的過程中,在本次項目中我經過大量的通路網上的資源和跟同學的積極讨論完成了并不完善的四則運算。

PS:雖然實作的代碼不是很嚴謹且結構簡單,但我希望通過下一次的作業優化并且完善四則運算這個項目。

小組成員:

             李紅亮,常宇鵬;

合作小組:

              李成帥,張偉祥;