和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ù)...............