轉(zhuǎn)角C槽篇2020-11-17

和C槽類似,只是參數(shù)多幾個(gè),判斷方法多幾個(gè)

public static string[] 轉(zhuǎn)角C槽核心算法(string N_編碼, string N_數(shù)量)
        {
            //5N400-400 N400-400 5DN400-400 DN400-400(忠旺體系的編碼)
            //定義型材信息
            string[] 計(jì)算結(jié)果 = new string[6];//結(jié)果
            string[] 錯(cuò)誤結(jié)果 = new string[1];//結(jié)果

            String[] N_無字母參數(shù) = null;
            String[] N_無數(shù)字參數(shù) = null;

            //去除編碼中的符號(hào)和字母
            N_無字母參數(shù) = N_編碼.Split(new char[] { '-', 'P', 'J', 'Q', 'C', 'D', 'K', 'L', '/', '(', ')', 'A', 'B', 'E', 'F', 'G', 'H', 'I', 'J', 'M', 'N', 'O', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' }, StringSplitOptions.RemoveEmptyEntries);
            //去除編碼中的數(shù)字
            N_無數(shù)字參數(shù) = N_編碼.Split(new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.' }, StringSplitOptions.RemoveEmptyEntries);
            //去除編碼中的空格,然后轉(zhuǎn)化為string類型
            String N_字符串 = String.Join("", N_無數(shù)字參數(shù).Select(y => y.ToString()).ToArray());
            char[] N_字符數(shù)組 = N_字符串.ToCharArray();

            if (N_編碼 != "" && N_數(shù)量 != "")
            {
                //判斷獲取到的編碼是不是N類型,并保證編碼中只有一個(gè)N或者DN字符
                switch (N_字符串)
                {
                    case "N-":
                        switch (N_無字母參數(shù).Length)
                        {
                            //2個(gè)參數(shù)的算法 N***-***,給參數(shù)指定范圍
                            case 2:
                                if (N_編碼.Substring(0, 1) == "N")
                                {
                                    if (float.Parse(N_無字母參數(shù)[0]) <= 500 && float.Parse(N_無字母參數(shù)[1]) <= 500 && float.Parse(N_無字母參數(shù)[0]) >= 150 && float.Parse(N_無字母參數(shù)[1]) >= 150)
                                    {
                                        計(jì)算結(jié)果[0] = "型材1:100*150*" + N_無字母參數(shù)[0];//固定參數(shù)
                                        計(jì)算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
                                        計(jì)算結(jié)果[2] = "型材2:100*150*" + N_無字母參數(shù)[1];//固定參數(shù)
                                        計(jì)算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
                                        計(jì)算結(jié)果[4] = "封板:93.5*143.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
                                        計(jì)算結(jié)果[5] = "正常轉(zhuǎn)角N槽";
                                        return 計(jì)算結(jié)果;
                                    }
                                    else
                                    {
                                        錯(cuò)誤結(jié)果[0] = "數(shù)字過大或過小,請(qǐng)檢查";
                                        return 錯(cuò)誤結(jié)果;
                                    }
                                }
                                else
                                {
                                    錯(cuò)誤結(jié)果[0] = "編碼不全,無法計(jì)算";
                                    return 錯(cuò)誤結(jié)果;
                                }
                                
                            //3個(gè)參數(shù)的算法
                            case 3:
                                if (float.Parse(N_無字母參數(shù)[1]) <= 500 && float.Parse(N_無字母參數(shù)[2]) <= 500 && float.Parse(N_無字母參數(shù)[1]) >= 150 && float.Parse(N_無字母參數(shù)[2]) >= 150)
                                {
                                    switch (N_無字母參數(shù)[0])
                                    {
                                        case "1":
                                            計(jì)算結(jié)果[0] = "型材1:110*150*" + N_無字母參數(shù)[1];//固定參數(shù)
                                            計(jì)算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[2] = "型材2:110*150*" + N_無字母參數(shù)[2];//固定參數(shù)
                                            計(jì)算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[4] = "封板:103.5*143.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
                                            計(jì)算結(jié)果[5] = "正常轉(zhuǎn)角N槽";
                                            break;
                                        case "2":
                                            計(jì)算結(jié)果[0] = "型材1:120*150*" + N_無字母參數(shù)[1];//固定參數(shù)
                                            計(jì)算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[2] = "型材2:120*150*" + N_無字母參數(shù)[2];//固定參數(shù)
                                            計(jì)算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[4] = "封板:113.5*143.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
                                            計(jì)算結(jié)果[5] = "正常轉(zhuǎn)角N槽";
                                            break;
                                        case "3":
                                            計(jì)算結(jié)果[0] = "型材1:130*150*" + N_無字母參數(shù)[1];//固定參數(shù)
                                            計(jì)算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[2] = "型材2:130*150*" + N_無字母參數(shù)[2];//固定參數(shù)
                                            計(jì)算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[4] = "封板:123.5*143.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
                                            計(jì)算結(jié)果[5] = "正常轉(zhuǎn)角N槽";
                                            break;
                                        case "4":
                                            計(jì)算結(jié)果[0] = "型材1:140*150*" + N_無字母參數(shù)[1];//固定參數(shù)
                                            計(jì)算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[2] = "型材2:140*150*" + N_無字母參數(shù)[2];//固定參數(shù)
                                            計(jì)算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[4] = "封板:133.5*143.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
                                            計(jì)算結(jié)果[5] = "正常轉(zhuǎn)角N槽";
                                            break;
                                        case "5":
                                            計(jì)算結(jié)果[0] = "型材1:150*150*" + N_無字母參數(shù)[1];//固定參數(shù)
                                            計(jì)算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[2] = "型材2:150*150*" + N_無字母參數(shù)[2];//固定參數(shù)
                                            計(jì)算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[4] = "封板:143.5*143.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
                                            計(jì)算結(jié)果[5] = "正常轉(zhuǎn)角N槽";
                                            break;
                                        case "6":
                                            計(jì)算結(jié)果[0] = "型材1:160*150*" + N_無字母參數(shù)[1];//固定參數(shù)
                                            計(jì)算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[2] = "型材2:160*150*" + N_無字母參數(shù)[2];//固定參數(shù)
                                            計(jì)算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[4] = "封板:153.5*143.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
                                            計(jì)算結(jié)果[5] = "正常轉(zhuǎn)角N槽";
                                            break;
                                        case "7":
                                            計(jì)算結(jié)果[0] = "型材1:170*150*" + N_無字母參數(shù)[1];//固定參數(shù)
                                            計(jì)算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[2] = "型材2:170*150*" + N_無字母參數(shù)[2];//固定參數(shù)
                                            計(jì)算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[4] = "封板:163.5*143.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
                                            計(jì)算結(jié)果[5] = "正常轉(zhuǎn)角N槽";
                                            break;
                                        case "8":
                                            計(jì)算結(jié)果[0] = "型材1:180*150*" + N_無字母參數(shù)[1];//固定參數(shù)
                                            計(jì)算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[2] = "型材2:180*150*" + N_無字母參數(shù)[2];//固定參數(shù)
                                            計(jì)算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[4] = "封板:173.5*143.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
                                            計(jì)算結(jié)果[5] = "正常轉(zhuǎn)角N槽";
                                            break;
                                        case "9":
                                            計(jì)算結(jié)果[0] = "型材1:190*150*" + N_無字母參數(shù)[1];//固定參數(shù)
                                            計(jì)算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[2] = "型材2:190*150*" + N_無字母參數(shù)[2];//固定參數(shù)
                                            計(jì)算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[4] = "封板:183.5*143.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
                                            計(jì)算結(jié)果[5] = "正常轉(zhuǎn)角N槽";
                                            break;
                                        case "20":
                                            計(jì)算結(jié)果[0] = "型材1:200*150*" + N_無字母參數(shù)[1];//固定參數(shù)
                                            計(jì)算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[2] = "型材2:200*150*" + N_無字母參數(shù)[2];//固定參數(shù)
                                            計(jì)算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[4] = "封板:193.5*143.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
                                            計(jì)算結(jié)果[5] = "正常轉(zhuǎn)角N槽";
                                            break;
                                        default://除以上類型之外的型號(hào),這里不支持
                                            錯(cuò)誤結(jié)果[0] = "不支持的型號(hào),請(qǐng)檢查";
                                            return 錯(cuò)誤結(jié)果;
                                    }
                                    return 計(jì)算結(jié)果;
                                }
                                else
                                {
                                    錯(cuò)誤結(jié)果[0] = "數(shù)字過大或過小,請(qǐng)檢查";
                                    return 錯(cuò)誤結(jié)果;
                                }
                            default://編碼不對(duì),不支持
                                錯(cuò)誤結(jié)果[0] = "不支持的編碼,請(qǐng)檢查";
                                return 錯(cuò)誤結(jié)果;
                        }

                    case "DN-"://DC型號(hào)的C槽計(jì)算
                        switch (N_無字母參數(shù).Length)
                        {
                            //2個(gè)參數(shù)的算法 DN***-***,給參數(shù)指定范圍
                            case 2:
                                if (N_編碼.Substring(0, 2) == "DN")
                                {
                                    if (float.Parse(N_無字母參數(shù)[0]) <= 500 && float.Parse(N_無字母參數(shù)[1]) <= 500 && float.Parse(N_無字母參數(shù)[0]) >= 100 && float.Parse(N_無字母參數(shù)[1]) >= 100)
                                    {
                                        計(jì)算結(jié)果[0] = "型材1:100*100*" + N_無字母參數(shù)[0];//固定參數(shù)
                                        計(jì)算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
                                        計(jì)算結(jié)果[2] = "型材2:100*100*" + N_無字母參數(shù)[1];//固定參數(shù)
                                        計(jì)算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
                                        計(jì)算結(jié)果[4] = "封板:93.5*93.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
                                        計(jì)算結(jié)果[5] = "正常轉(zhuǎn)角DN槽";
                                        return 計(jì)算結(jié)果;
                                    }
                                    else
                                    {
                                        錯(cuò)誤結(jié)果[0] = "數(shù)字過大或過小,請(qǐng)檢查";
                                        return 錯(cuò)誤結(jié)果;
                                    }
                                }
                                else
                                {
                                    錯(cuò)誤結(jié)果[0] = "編碼不全,無法計(jì)算";
                                    return 錯(cuò)誤結(jié)果;
                                }
                            //3個(gè)參數(shù)的算法
                            case 3:
                                if (float.Parse(N_無字母參數(shù)[1]) <= 500 && float.Parse(N_無字母參數(shù)[2]) <= 500 && float.Parse(N_無字母參數(shù)[1]) >= 100 && float.Parse(N_無字母參數(shù)[2]) >= 100)
                                {
                                    switch (N_無字母參數(shù)[0])
                                    {
                                        case "1":
                                            計(jì)算結(jié)果[0] = "型材1:110*100*" + N_無字母參數(shù)[1];//固定參數(shù)
                                            計(jì)算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[2] = "型材2:110*100*" + N_無字母參數(shù)[2];//固定參數(shù)
                                            計(jì)算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[4] = "封板:103.5*93.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
                                            計(jì)算結(jié)果[5] = "正常轉(zhuǎn)角DN槽";
                                            break;
                                        case "2":
                                            計(jì)算結(jié)果[0] = "型材1:120*100*" + N_無字母參數(shù)[1];//固定參數(shù)
                                            計(jì)算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[2] = "型材2:120*100*" + N_無字母參數(shù)[2];//固定參數(shù)
                                            計(jì)算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[4] = "封板:113.5*93.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
                                            計(jì)算結(jié)果[5] = "正常轉(zhuǎn)角DN槽";
                                            break;
                                        case "3":
                                            計(jì)算結(jié)果[0] = "型材1:130*100*" + N_無字母參數(shù)[1];//固定參數(shù)
                                            計(jì)算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[2] = "型材2:130*100*" + N_無字母參數(shù)[2];//固定參數(shù)
                                            計(jì)算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[4] = "封板:123.5*93.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
                                            計(jì)算結(jié)果[5] = "正常轉(zhuǎn)角DN槽";
                                            break;
                                        case "4":
                                            計(jì)算結(jié)果[0] = "型材1:140*100*" + N_無字母參數(shù)[1];//固定參數(shù)
                                            計(jì)算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[2] = "型材2:140*100*" + N_無字母參數(shù)[2];//固定參數(shù)
                                            計(jì)算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[4] = "封板:133.5*93.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
                                            計(jì)算結(jié)果[5] = "正常轉(zhuǎn)角DN槽";
                                            break;
                                        case "5":
                                            計(jì)算結(jié)果[0] = "型材1:100*100*" + N_無字母參數(shù)[1];//固定參數(shù)
                                            計(jì)算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[2] = "型材2:100*100*" + N_無字母參數(shù)[2];//固定參數(shù)
                                            計(jì)算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[4] = "封板:93.5*93.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
                                            計(jì)算結(jié)果[5] = "正常轉(zhuǎn)角DN槽";
                                            break;
                                        case "6":
                                            計(jì)算結(jié)果[0] = "型材1:160*100*" + N_無字母參數(shù)[1];//固定參數(shù)
                                            計(jì)算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[2] = "型材2:160*100*" + N_無字母參數(shù)[2];//固定參數(shù)
                                            計(jì)算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[4] = "封板:153.5*93.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
                                            計(jì)算結(jié)果[5] = "正常轉(zhuǎn)角DN槽";
                                            break;
                                        case "7":
                                            計(jì)算結(jié)果[0] = "型材1:170*100*" + N_無字母參數(shù)[1];//固定參數(shù)
                                            計(jì)算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[2] = "型材2:170*100*" + N_無字母參數(shù)[2];//固定參數(shù)
                                            計(jì)算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[4] = "封板:163.5*93.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
                                            計(jì)算結(jié)果[5] = "正常轉(zhuǎn)角DN槽";
                                            break;
                                        case "8":
                                            計(jì)算結(jié)果[0] = "型材1:180*100*" + N_無字母參數(shù)[1];//固定參數(shù)
                                            計(jì)算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[2] = "型材2:180*100*" + N_無字母參數(shù)[2];//固定參數(shù)
                                            計(jì)算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[4] = "封板:173.5*93.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
                                            計(jì)算結(jié)果[5] = "正常轉(zhuǎn)角DN槽";
                                            break;
                                        case "9":
                                            計(jì)算結(jié)果[0] = "型材1:190*100*" + N_無字母參數(shù)[1];//固定參數(shù)
                                            計(jì)算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[2] = "型材2:190*100*" + N_無字母參數(shù)[2];//固定參數(shù)
                                            計(jì)算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[4] = "封板:183.5*93.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
                                            計(jì)算結(jié)果[5] = "正常轉(zhuǎn)角DN槽";
                                            break;
                                        case "20":
                                            計(jì)算結(jié)果[0] = "型材1:200*100*" + N_無字母參數(shù)[1];//固定參數(shù)
                                            計(jì)算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[2] = "型材2:200*100*" + N_無字母參數(shù)[2];//固定參數(shù)
                                            計(jì)算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
                                            計(jì)算結(jié)果[4] = "封板:193.5*93.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
                                            計(jì)算結(jié)果[5] = "正常轉(zhuǎn)角DN槽";
                                            break;
                                        default://除以上類型之外的型號(hào),這里不支持
                                            錯(cuò)誤結(jié)果[0] = "不支持的型號(hào),請(qǐng)檢查";
                                            return 錯(cuò)誤結(jié)果;
                                    }
                                    return 計(jì)算結(jié)果;
                                }
                                else
                                {
                                    錯(cuò)誤結(jié)果[0] = "數(shù)字過大或過小,請(qǐng)檢查";
                                    return 錯(cuò)誤結(jié)果;
                                }
                            default://編碼不對(duì),不支持
                                錯(cuò)誤結(jié)果[0] = "不支持的編碼,請(qǐng)檢查";
                                return 錯(cuò)誤結(jié)果;
                        }
                    default:
                        //不是C槽的編碼,不支持
                        錯(cuò)誤結(jié)果[0] = "編碼不是轉(zhuǎn)角C槽,請(qǐng)檢查";
                        return 錯(cuò)誤結(jié)果;
                }
            }
            else
            {
                if (N_編碼 == "" && N_數(shù)量 == "")
                {
                    錯(cuò)誤結(jié)果[0] = "錯(cuò)誤: 編碼數(shù)量都沒有我算你妹?";
                }
                else if (N_編碼 == "")
                {
                    錯(cuò)誤結(jié)果[0] = "錯(cuò)誤: 編碼沒有怎么算?";
                }
                else if (N_編碼 == "")
                {
                    錯(cuò)誤結(jié)果[0] = "錯(cuò)誤: 數(shù)量沒填我特么怎么算?";
                }
                return 錯(cuò)誤結(jié)果;
            }
        }

運(yùn)行結(jié)果:


image.png

下一篇,計(jì)算編碼類別,未完待續(xù)...............

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容