和C槽類似,只是參數(shù)多幾個,判斷方法多幾個
public static string[] 轉(zhuǎn)角C槽核心算法(string N_編碼, string N_數(shù)量)
{
//5N400-400 N400-400 5DN400-400 DN400-400(忠旺體系的編碼)
//定義型材信息
string[] 計算結(jié)果 = new string[6];//結(jié)果
string[] 錯誤結(jié)果 = new string[1];//結(jié)果
String[] N_無字母參數(shù) = null;
String[] N_無數(shù)字參數(shù) = null;
//去除編碼中的符號和字母
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類型,并保證編碼中只有一個N或者DN字符
switch (N_字符串)
{
case "N-":
switch (N_無字母參數(shù).Length)
{
//2個參數(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)
{
計算結(jié)果[0] = "型材1:100*150*" + N_無字母參數(shù)[0];//固定參數(shù)
計算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
計算結(jié)果[2] = "型材2:100*150*" + N_無字母參數(shù)[1];//固定參數(shù)
計算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
計算結(jié)果[4] = "封板:93.5*143.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
計算結(jié)果[5] = "正常轉(zhuǎn)角N槽";
return 計算結(jié)果;
}
else
{
錯誤結(jié)果[0] = "數(shù)字過大或過小,請檢查";
return 錯誤結(jié)果;
}
}
else
{
錯誤結(jié)果[0] = "編碼不全,無法計算";
return 錯誤結(jié)果;
}
//3個參數(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":
計算結(jié)果[0] = "型材1:110*150*" + N_無字母參數(shù)[1];//固定參數(shù)
計算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
計算結(jié)果[2] = "型材2:110*150*" + N_無字母參數(shù)[2];//固定參數(shù)
計算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
計算結(jié)果[4] = "封板:103.5*143.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
計算結(jié)果[5] = "正常轉(zhuǎn)角N槽";
break;
case "2":
計算結(jié)果[0] = "型材1:120*150*" + N_無字母參數(shù)[1];//固定參數(shù)
計算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
計算結(jié)果[2] = "型材2:120*150*" + N_無字母參數(shù)[2];//固定參數(shù)
計算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
計算結(jié)果[4] = "封板:113.5*143.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
計算結(jié)果[5] = "正常轉(zhuǎn)角N槽";
break;
case "3":
計算結(jié)果[0] = "型材1:130*150*" + N_無字母參數(shù)[1];//固定參數(shù)
計算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
計算結(jié)果[2] = "型材2:130*150*" + N_無字母參數(shù)[2];//固定參數(shù)
計算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
計算結(jié)果[4] = "封板:123.5*143.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
計算結(jié)果[5] = "正常轉(zhuǎn)角N槽";
break;
case "4":
計算結(jié)果[0] = "型材1:140*150*" + N_無字母參數(shù)[1];//固定參數(shù)
計算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
計算結(jié)果[2] = "型材2:140*150*" + N_無字母參數(shù)[2];//固定參數(shù)
計算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
計算結(jié)果[4] = "封板:133.5*143.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
計算結(jié)果[5] = "正常轉(zhuǎn)角N槽";
break;
case "5":
計算結(jié)果[0] = "型材1:150*150*" + N_無字母參數(shù)[1];//固定參數(shù)
計算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
計算結(jié)果[2] = "型材2:150*150*" + N_無字母參數(shù)[2];//固定參數(shù)
計算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
計算結(jié)果[4] = "封板:143.5*143.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
計算結(jié)果[5] = "正常轉(zhuǎn)角N槽";
break;
case "6":
計算結(jié)果[0] = "型材1:160*150*" + N_無字母參數(shù)[1];//固定參數(shù)
計算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
計算結(jié)果[2] = "型材2:160*150*" + N_無字母參數(shù)[2];//固定參數(shù)
計算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
計算結(jié)果[4] = "封板:153.5*143.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
計算結(jié)果[5] = "正常轉(zhuǎn)角N槽";
break;
case "7":
計算結(jié)果[0] = "型材1:170*150*" + N_無字母參數(shù)[1];//固定參數(shù)
計算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
計算結(jié)果[2] = "型材2:170*150*" + N_無字母參數(shù)[2];//固定參數(shù)
計算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
計算結(jié)果[4] = "封板:163.5*143.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
計算結(jié)果[5] = "正常轉(zhuǎn)角N槽";
break;
case "8":
計算結(jié)果[0] = "型材1:180*150*" + N_無字母參數(shù)[1];//固定參數(shù)
計算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
計算結(jié)果[2] = "型材2:180*150*" + N_無字母參數(shù)[2];//固定參數(shù)
計算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
計算結(jié)果[4] = "封板:173.5*143.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
計算結(jié)果[5] = "正常轉(zhuǎn)角N槽";
break;
case "9":
計算結(jié)果[0] = "型材1:190*150*" + N_無字母參數(shù)[1];//固定參數(shù)
計算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
計算結(jié)果[2] = "型材2:190*150*" + N_無字母參數(shù)[2];//固定參數(shù)
計算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
計算結(jié)果[4] = "封板:183.5*143.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
計算結(jié)果[5] = "正常轉(zhuǎn)角N槽";
break;
case "20":
計算結(jié)果[0] = "型材1:200*150*" + N_無字母參數(shù)[1];//固定參數(shù)
計算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
計算結(jié)果[2] = "型材2:200*150*" + N_無字母參數(shù)[2];//固定參數(shù)
計算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
計算結(jié)果[4] = "封板:193.5*143.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
計算結(jié)果[5] = "正常轉(zhuǎn)角N槽";
break;
default://除以上類型之外的型號,這里不支持
錯誤結(jié)果[0] = "不支持的型號,請檢查";
return 錯誤結(jié)果;
}
return 計算結(jié)果;
}
else
{
錯誤結(jié)果[0] = "數(shù)字過大或過小,請檢查";
return 錯誤結(jié)果;
}
default://編碼不對,不支持
錯誤結(jié)果[0] = "不支持的編碼,請檢查";
return 錯誤結(jié)果;
}
case "DN-"://DC型號的C槽計算
switch (N_無字母參數(shù).Length)
{
//2個參數(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)
{
計算結(jié)果[0] = "型材1:100*100*" + N_無字母參數(shù)[0];//固定參數(shù)
計算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
計算結(jié)果[2] = "型材2:100*100*" + N_無字母參數(shù)[1];//固定參數(shù)
計算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
計算結(jié)果[4] = "封板:93.5*93.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
計算結(jié)果[5] = "正常轉(zhuǎn)角DN槽";
return 計算結(jié)果;
}
else
{
錯誤結(jié)果[0] = "數(shù)字過大或過小,請檢查";
return 錯誤結(jié)果;
}
}
else
{
錯誤結(jié)果[0] = "編碼不全,無法計算";
return 錯誤結(jié)果;
}
//3個參數(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":
計算結(jié)果[0] = "型材1:110*100*" + N_無字母參數(shù)[1];//固定參數(shù)
計算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
計算結(jié)果[2] = "型材2:110*100*" + N_無字母參數(shù)[2];//固定參數(shù)
計算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
計算結(jié)果[4] = "封板:103.5*93.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
計算結(jié)果[5] = "正常轉(zhuǎn)角DN槽";
break;
case "2":
計算結(jié)果[0] = "型材1:120*100*" + N_無字母參數(shù)[1];//固定參數(shù)
計算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
計算結(jié)果[2] = "型材2:120*100*" + N_無字母參數(shù)[2];//固定參數(shù)
計算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
計算結(jié)果[4] = "封板:113.5*93.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
計算結(jié)果[5] = "正常轉(zhuǎn)角DN槽";
break;
case "3":
計算結(jié)果[0] = "型材1:130*100*" + N_無字母參數(shù)[1];//固定參數(shù)
計算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
計算結(jié)果[2] = "型材2:130*100*" + N_無字母參數(shù)[2];//固定參數(shù)
計算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
計算結(jié)果[4] = "封板:123.5*93.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
計算結(jié)果[5] = "正常轉(zhuǎn)角DN槽";
break;
case "4":
計算結(jié)果[0] = "型材1:140*100*" + N_無字母參數(shù)[1];//固定參數(shù)
計算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
計算結(jié)果[2] = "型材2:140*100*" + N_無字母參數(shù)[2];//固定參數(shù)
計算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
計算結(jié)果[4] = "封板:133.5*93.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
計算結(jié)果[5] = "正常轉(zhuǎn)角DN槽";
break;
case "5":
計算結(jié)果[0] = "型材1:100*100*" + N_無字母參數(shù)[1];//固定參數(shù)
計算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
計算結(jié)果[2] = "型材2:100*100*" + N_無字母參數(shù)[2];//固定參數(shù)
計算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
計算結(jié)果[4] = "封板:93.5*93.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
計算結(jié)果[5] = "正常轉(zhuǎn)角DN槽";
break;
case "6":
計算結(jié)果[0] = "型材1:160*100*" + N_無字母參數(shù)[1];//固定參數(shù)
計算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
計算結(jié)果[2] = "型材2:160*100*" + N_無字母參數(shù)[2];//固定參數(shù)
計算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
計算結(jié)果[4] = "封板:153.5*93.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
計算結(jié)果[5] = "正常轉(zhuǎn)角DN槽";
break;
case "7":
計算結(jié)果[0] = "型材1:170*100*" + N_無字母參數(shù)[1];//固定參數(shù)
計算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
計算結(jié)果[2] = "型材2:170*100*" + N_無字母參數(shù)[2];//固定參數(shù)
計算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
計算結(jié)果[4] = "封板:163.5*93.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
計算結(jié)果[5] = "正常轉(zhuǎn)角DN槽";
break;
case "8":
計算結(jié)果[0] = "型材1:180*100*" + N_無字母參數(shù)[1];//固定參數(shù)
計算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
計算結(jié)果[2] = "型材2:180*100*" + N_無字母參數(shù)[2];//固定參數(shù)
計算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
計算結(jié)果[4] = "封板:173.5*93.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
計算結(jié)果[5] = "正常轉(zhuǎn)角DN槽";
break;
case "9":
計算結(jié)果[0] = "型材1:190*100*" + N_無字母參數(shù)[1];//固定參數(shù)
計算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
計算結(jié)果[2] = "型材2:190*100*" + N_無字母參數(shù)[2];//固定參數(shù)
計算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
計算結(jié)果[4] = "封板:183.5*93.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
計算結(jié)果[5] = "正常轉(zhuǎn)角DN槽";
break;
case "20":
計算結(jié)果[0] = "型材1:200*100*" + N_無字母參數(shù)[1];//固定參數(shù)
計算結(jié)果[1] = "型材1數(shù)量:" + N_數(shù)量;
計算結(jié)果[2] = "型材2:200*100*" + N_無字母參數(shù)[2];//固定參數(shù)
計算結(jié)果[3] = "型材2數(shù)量:" + N_數(shù)量;
計算結(jié)果[4] = "封板:193.5*93.5 共:" + (2 * int.Parse(N_數(shù)量)).ToString() + "件";
計算結(jié)果[5] = "正常轉(zhuǎn)角DN槽";
break;
default://除以上類型之外的型號,這里不支持
錯誤結(jié)果[0] = "不支持的型號,請檢查";
return 錯誤結(jié)果;
}
return 計算結(jié)果;
}
else
{
錯誤結(jié)果[0] = "數(shù)字過大或過小,請檢查";
return 錯誤結(jié)果;
}
default://編碼不對,不支持
錯誤結(jié)果[0] = "不支持的編碼,請檢查";
return 錯誤結(jié)果;
}
default:
//不是C槽的編碼,不支持
錯誤結(jié)果[0] = "編碼不是轉(zhuǎn)角C槽,請檢查";
return 錯誤結(jié)果;
}
}
else
{
if (N_編碼 == "" && N_數(shù)量 == "")
{
錯誤結(jié)果[0] = "錯誤: 編碼數(shù)量都沒有我算你妹?";
}
else if (N_編碼 == "")
{
錯誤結(jié)果[0] = "錯誤: 編碼沒有怎么算?";
}
else if (N_編碼 == "")
{
錯誤結(jié)果[0] = "錯誤: 數(shù)量沒填我特么怎么算?";
}
return 錯誤結(jié)果;
}
}
運行結(jié)果:
image.png
下一篇,計算編碼類別,未完待續(xù)...............