转角C槽篇2020-11-17

和C槽类似,只是参数多几个,判断方法多几个

public static string[] 转角C槽核心算法(string N_编码, string N_数量)
        {
            //5N400-400 N400-400 5DN400-400 DN400-400(忠旺体系的编码)
            //定义型材信息
            string[] 计算结果 = new string[6];//结果
            string[] 错误结果 = new string[1];//结果

            String[] N_无字母参数 = null;
            String[] N_无数字参数 = null;

            //去除编码中的符号和字母
            N_无字母参数 = 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);
            //去除编码中的数字
            N_无数字参数 = N_编码.Split(new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.' }, StringSplitOptions.RemoveEmptyEntries);
            //去除编码中的空格,然后转化为string类型
            String N_字符串 = String.Join("", N_无数字参数.Select(y => y.ToString()).ToArray());
            char[] N_字符数组 = N_字符串.ToCharArray();

            if (N_编码 != "" && N_数量 != "")
            {
                //判断获取到的编码是不是N类型,并保证编码中只有一个N或者DN字符
                switch (N_字符串)
                {
                    case "N-":
                        switch (N_无字母参数.Length)
                        {
                            //2个参数的算法 N***-***,给参数指定范围
                            case 2:
                                if (N_编码.Substring(0, 1) == "N")
                                {
                                    if (float.Parse(N_无字母参数[0]) <= 500 && float.Parse(N_无字母参数[1]) <= 500 && float.Parse(N_无字母参数[0]) >= 150 && float.Parse(N_无字母参数[1]) >= 150)
                                    {
                                        计算结果[0] = "型材1:100*150*" + N_无字母参数[0];//固定参数
                                        计算结果[1] = "型材1数量:" + N_数量;
                                        计算结果[2] = "型材2:100*150*" + N_无字母参数[1];//固定参数
                                        计算结果[3] = "型材2数量:" + N_数量;
                                        计算结果[4] = "封板:93.5*143.5 共:" + (2 * int.Parse(N_数量)).ToString() + "件";
                                        计算结果[5] = "正常转角N槽";
                                        return 计算结果;
                                    }
                                    else
                                    {
                                        错误结果[0] = "数字过大或过小,请检查";
                                        return 错误结果;
                                    }
                                }
                                else
                                {
                                    错误结果[0] = "编码不全,无法计算";
                                    return 错误结果;
                                }
                                
                            //3个参数的算法
                            case 3:
                                if (float.Parse(N_无字母参数[1]) <= 500 && float.Parse(N_无字母参数[2]) <= 500 && float.Parse(N_无字母参数[1]) >= 150 && float.Parse(N_无字母参数[2]) >= 150)
                                {
                                    switch (N_无字母参数[0])
                                    {
                                        case "1":
                                            计算结果[0] = "型材1:110*150*" + N_无字母参数[1];//固定参数
                                            计算结果[1] = "型材1数量:" + N_数量;
                                            计算结果[2] = "型材2:110*150*" + N_无字母参数[2];//固定参数
                                            计算结果[3] = "型材2数量:" + N_数量;
                                            计算结果[4] = "封板:103.5*143.5 共:" + (2 * int.Parse(N_数量)).ToString() + "件";
                                            计算结果[5] = "正常转角N槽";
                                            break;
                                        case "2":
                                            计算结果[0] = "型材1:120*150*" + N_无字母参数[1];//固定参数
                                            计算结果[1] = "型材1数量:" + N_数量;
                                            计算结果[2] = "型材2:120*150*" + N_无字母参数[2];//固定参数
                                            计算结果[3] = "型材2数量:" + N_数量;
                                            计算结果[4] = "封板:113.5*143.5 共:" + (2 * int.Parse(N_数量)).ToString() + "件";
                                            计算结果[5] = "正常转角N槽";
                                            break;
                                        case "3":
                                            计算结果[0] = "型材1:130*150*" + N_无字母参数[1];//固定参数
                                            计算结果[1] = "型材1数量:" + N_数量;
                                            计算结果[2] = "型材2:130*150*" + N_无字母参数[2];//固定参数
                                            计算结果[3] = "型材2数量:" + N_数量;
                                            计算结果[4] = "封板:123.5*143.5 共:" + (2 * int.Parse(N_数量)).ToString() + "件";
                                            计算结果[5] = "正常转角N槽";
                                            break;
                                        case "4":
                                            计算结果[0] = "型材1:140*150*" + N_无字母参数[1];//固定参数
                                            计算结果[1] = "型材1数量:" + N_数量;
                                            计算结果[2] = "型材2:140*150*" + N_无字母参数[2];//固定参数
                                            计算结果[3] = "型材2数量:" + N_数量;
                                            计算结果[4] = "封板:133.5*143.5 共:" + (2 * int.Parse(N_数量)).ToString() + "件";
                                            计算结果[5] = "正常转角N槽";
                                            break;
                                        case "5":
                                            计算结果[0] = "型材1:150*150*" + N_无字母参数[1];//固定参数
                                            计算结果[1] = "型材1数量:" + N_数量;
                                            计算结果[2] = "型材2:150*150*" + N_无字母参数[2];//固定参数
                                            计算结果[3] = "型材2数量:" + N_数量;
                                            计算结果[4] = "封板:143.5*143.5 共:" + (2 * int.Parse(N_数量)).ToString() + "件";
                                            计算结果[5] = "正常转角N槽";
                                            break;
                                        case "6":
                                            计算结果[0] = "型材1:160*150*" + N_无字母参数[1];//固定参数
                                            计算结果[1] = "型材1数量:" + N_数量;
                                            计算结果[2] = "型材2:160*150*" + N_无字母参数[2];//固定参数
                                            计算结果[3] = "型材2数量:" + N_数量;
                                            计算结果[4] = "封板:153.5*143.5 共:" + (2 * int.Parse(N_数量)).ToString() + "件";
                                            计算结果[5] = "正常转角N槽";
                                            break;
                                        case "7":
                                            计算结果[0] = "型材1:170*150*" + N_无字母参数[1];//固定参数
                                            计算结果[1] = "型材1数量:" + N_数量;
                                            计算结果[2] = "型材2:170*150*" + N_无字母参数[2];//固定参数
                                            计算结果[3] = "型材2数量:" + N_数量;
                                            计算结果[4] = "封板:163.5*143.5 共:" + (2 * int.Parse(N_数量)).ToString() + "件";
                                            计算结果[5] = "正常转角N槽";
                                            break;
                                        case "8":
                                            计算结果[0] = "型材1:180*150*" + N_无字母参数[1];//固定参数
                                            计算结果[1] = "型材1数量:" + N_数量;
                                            计算结果[2] = "型材2:180*150*" + N_无字母参数[2];//固定参数
                                            计算结果[3] = "型材2数量:" + N_数量;
                                            计算结果[4] = "封板:173.5*143.5 共:" + (2 * int.Parse(N_数量)).ToString() + "件";
                                            计算结果[5] = "正常转角N槽";
                                            break;
                                        case "9":
                                            计算结果[0] = "型材1:190*150*" + N_无字母参数[1];//固定参数
                                            计算结果[1] = "型材1数量:" + N_数量;
                                            计算结果[2] = "型材2:190*150*" + N_无字母参数[2];//固定参数
                                            计算结果[3] = "型材2数量:" + N_数量;
                                            计算结果[4] = "封板:183.5*143.5 共:" + (2 * int.Parse(N_数量)).ToString() + "件";
                                            计算结果[5] = "正常转角N槽";
                                            break;
                                        case "20":
                                            计算结果[0] = "型材1:200*150*" + N_无字母参数[1];//固定参数
                                            计算结果[1] = "型材1数量:" + N_数量;
                                            计算结果[2] = "型材2:200*150*" + N_无字母参数[2];//固定参数
                                            计算结果[3] = "型材2数量:" + N_数量;
                                            计算结果[4] = "封板:193.5*143.5 共:" + (2 * int.Parse(N_数量)).ToString() + "件";
                                            计算结果[5] = "正常转角N槽";
                                            break;
                                        default://除以上类型之外的型号,这里不支持
                                            错误结果[0] = "不支持的型号,请检查";
                                            return 错误结果;
                                    }
                                    return 计算结果;
                                }
                                else
                                {
                                    错误结果[0] = "数字过大或过小,请检查";
                                    return 错误结果;
                                }
                            default://编码不对,不支持
                                错误结果[0] = "不支持的编码,请检查";
                                return 错误结果;
                        }

                    case "DN-"://DC型号的C槽计算
                        switch (N_无字母参数.Length)
                        {
                            //2个参数的算法 DN***-***,给参数指定范围
                            case 2:
                                if (N_编码.Substring(0, 2) == "DN")
                                {
                                    if (float.Parse(N_无字母参数[0]) <= 500 && float.Parse(N_无字母参数[1]) <= 500 && float.Parse(N_无字母参数[0]) >= 100 && float.Parse(N_无字母参数[1]) >= 100)
                                    {
                                        计算结果[0] = "型材1:100*100*" + N_无字母参数[0];//固定参数
                                        计算结果[1] = "型材1数量:" + N_数量;
                                        计算结果[2] = "型材2:100*100*" + N_无字母参数[1];//固定参数
                                        计算结果[3] = "型材2数量:" + N_数量;
                                        计算结果[4] = "封板:93.5*93.5 共:" + (2 * int.Parse(N_数量)).ToString() + "件";
                                        计算结果[5] = "正常转角DN槽";
                                        return 计算结果;
                                    }
                                    else
                                    {
                                        错误结果[0] = "数字过大或过小,请检查";
                                        return 错误结果;
                                    }
                                }
                                else
                                {
                                    错误结果[0] = "编码不全,无法计算";
                                    return 错误结果;
                                }
                            //3个参数的算法
                            case 3:
                                if (float.Parse(N_无字母参数[1]) <= 500 && float.Parse(N_无字母参数[2]) <= 500 && float.Parse(N_无字母参数[1]) >= 100 && float.Parse(N_无字母参数[2]) >= 100)
                                {
                                    switch (N_无字母参数[0])
                                    {
                                        case "1":
                                            计算结果[0] = "型材1:110*100*" + N_无字母参数[1];//固定参数
                                            计算结果[1] = "型材1数量:" + N_数量;
                                            计算结果[2] = "型材2:110*100*" + N_无字母参数[2];//固定参数
                                            计算结果[3] = "型材2数量:" + N_数量;
                                            计算结果[4] = "封板:103.5*93.5 共:" + (2 * int.Parse(N_数量)).ToString() + "件";
                                            计算结果[5] = "正常转角DN槽";
                                            break;
                                        case "2":
                                            计算结果[0] = "型材1:120*100*" + N_无字母参数[1];//固定参数
                                            计算结果[1] = "型材1数量:" + N_数量;
                                            计算结果[2] = "型材2:120*100*" + N_无字母参数[2];//固定参数
                                            计算结果[3] = "型材2数量:" + N_数量;
                                            计算结果[4] = "封板:113.5*93.5 共:" + (2 * int.Parse(N_数量)).ToString() + "件";
                                            计算结果[5] = "正常转角DN槽";
                                            break;
                                        case "3":
                                            计算结果[0] = "型材1:130*100*" + N_无字母参数[1];//固定参数
                                            计算结果[1] = "型材1数量:" + N_数量;
                                            计算结果[2] = "型材2:130*100*" + N_无字母参数[2];//固定参数
                                            计算结果[3] = "型材2数量:" + N_数量;
                                            计算结果[4] = "封板:123.5*93.5 共:" + (2 * int.Parse(N_数量)).ToString() + "件";
                                            计算结果[5] = "正常转角DN槽";
                                            break;
                                        case "4":
                                            计算结果[0] = "型材1:140*100*" + N_无字母参数[1];//固定参数
                                            计算结果[1] = "型材1数量:" + N_数量;
                                            计算结果[2] = "型材2:140*100*" + N_无字母参数[2];//固定参数
                                            计算结果[3] = "型材2数量:" + N_数量;
                                            计算结果[4] = "封板:133.5*93.5 共:" + (2 * int.Parse(N_数量)).ToString() + "件";
                                            计算结果[5] = "正常转角DN槽";
                                            break;
                                        case "5":
                                            计算结果[0] = "型材1:100*100*" + N_无字母参数[1];//固定参数
                                            计算结果[1] = "型材1数量:" + N_数量;
                                            计算结果[2] = "型材2:100*100*" + N_无字母参数[2];//固定参数
                                            计算结果[3] = "型材2数量:" + N_数量;
                                            计算结果[4] = "封板:93.5*93.5 共:" + (2 * int.Parse(N_数量)).ToString() + "件";
                                            计算结果[5] = "正常转角DN槽";
                                            break;
                                        case "6":
                                            计算结果[0] = "型材1:160*100*" + N_无字母参数[1];//固定参数
                                            计算结果[1] = "型材1数量:" + N_数量;
                                            计算结果[2] = "型材2:160*100*" + N_无字母参数[2];//固定参数
                                            计算结果[3] = "型材2数量:" + N_数量;
                                            计算结果[4] = "封板:153.5*93.5 共:" + (2 * int.Parse(N_数量)).ToString() + "件";
                                            计算结果[5] = "正常转角DN槽";
                                            break;
                                        case "7":
                                            计算结果[0] = "型材1:170*100*" + N_无字母参数[1];//固定参数
                                            计算结果[1] = "型材1数量:" + N_数量;
                                            计算结果[2] = "型材2:170*100*" + N_无字母参数[2];//固定参数
                                            计算结果[3] = "型材2数量:" + N_数量;
                                            计算结果[4] = "封板:163.5*93.5 共:" + (2 * int.Parse(N_数量)).ToString() + "件";
                                            计算结果[5] = "正常转角DN槽";
                                            break;
                                        case "8":
                                            计算结果[0] = "型材1:180*100*" + N_无字母参数[1];//固定参数
                                            计算结果[1] = "型材1数量:" + N_数量;
                                            计算结果[2] = "型材2:180*100*" + N_无字母参数[2];//固定参数
                                            计算结果[3] = "型材2数量:" + N_数量;
                                            计算结果[4] = "封板:173.5*93.5 共:" + (2 * int.Parse(N_数量)).ToString() + "件";
                                            计算结果[5] = "正常转角DN槽";
                                            break;
                                        case "9":
                                            计算结果[0] = "型材1:190*100*" + N_无字母参数[1];//固定参数
                                            计算结果[1] = "型材1数量:" + N_数量;
                                            计算结果[2] = "型材2:190*100*" + N_无字母参数[2];//固定参数
                                            计算结果[3] = "型材2数量:" + N_数量;
                                            计算结果[4] = "封板:183.5*93.5 共:" + (2 * int.Parse(N_数量)).ToString() + "件";
                                            计算结果[5] = "正常转角DN槽";
                                            break;
                                        case "20":
                                            计算结果[0] = "型材1:200*100*" + N_无字母参数[1];//固定参数
                                            计算结果[1] = "型材1数量:" + N_数量;
                                            计算结果[2] = "型材2:200*100*" + N_无字母参数[2];//固定参数
                                            计算结果[3] = "型材2数量:" + N_数量;
                                            计算结果[4] = "封板:193.5*93.5 共:" + (2 * int.Parse(N_数量)).ToString() + "件";
                                            计算结果[5] = "正常转角DN槽";
                                            break;
                                        default://除以上类型之外的型号,这里不支持
                                            错误结果[0] = "不支持的型号,请检查";
                                            return 错误结果;
                                    }
                                    return 计算结果;
                                }
                                else
                                {
                                    错误结果[0] = "数字过大或过小,请检查";
                                    return 错误结果;
                                }
                            default://编码不对,不支持
                                错误结果[0] = "不支持的编码,请检查";
                                return 错误结果;
                        }
                    default:
                        //不是C槽的编码,不支持
                        错误结果[0] = "编码不是转角C槽,请检查";
                        return 错误结果;
                }
            }
            else
            {
                if (N_编码 == "" && N_数量 == "")
                {
                    错误结果[0] = "错误: 编码数量都没有我算你妹?";
                }
                else if (N_编码 == "")
                {
                    错误结果[0] = "错误: 编码没有怎么算?";
                }
                else if (N_编码 == "")
                {
                    错误结果[0] = "错误: 数量没填我特么怎么算?";
                }
                return 错误结果;
            }
        }

运行结果:


image.png

下一篇,计算编码类别,未完待续...............

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容