Alrighty, 그래서 나는 지금, 부엌 측정을위한 클래스를 쓰고있다 그냥 볼륨, 또는 액체, 측정을 가지고 있으며, 나는 다음과 같이 호출 :C# 측정 변환 클래스
이ktchnmsrmnts.VolumeMeasurements(number), current_measurement, to_measurement);
거기에서 그것의 perty는 대부분의 사람들이 내부 코드를 알아내는 것이 간단하고, 간단한 수학이 있습니다. 이제 내 문제는 '이봐, 그는 17.50 컵을 가져다가 1 갤런과 1 1/2 컵을 만들 수있는 옵션을 추가해야합니다.
나는 'to_measurement'에 새 케이스를 추가하려고 생각했다. 그 숫자가 19 컵이 갤런보다 큰 것인지를 확인한 다음, 1 갤론 이상으로 만들고 나머지를 보낸다. 줄을 내려하지만, 나는 부엌에서 파인트를 사용하지 않을 것입니다. 어쩌면 변환 할 다른 옵션을 추가 할 것입니다. 나는 갇혀있다는 것을 모릅니다. 그리고 코드는 기본이지만 내 요구에 맞습니다. 어쨌든 중간에 있습니다. ..
내 전체 코드가 필요 그냥 넣다, 여기에 나중에 가서 :
class KitchenMeasurements
{
public double VolumeMeasurements(double number, string current_measurement, string to_measurement)
{
double mL = 0;
double tsp= 0;
double tbsp = 0;
double fluid_ounces = 0;
double cup = 0;
double pint = 0;
double quart = 0;
double gallon = 0;
double ounce = 0;
double gram = 0;
double pound = 0;
double liter = 0;
switch (current_measurement)
{
case "mL":
mL = number;
tsp = mL * 0.202884;
tbsp = mL * 0.067628;
fluid_ounces = mL * 0.033814;
cup = mL * 0.00422675;
pint = mL * 0.00211338;
quart = mL * 0.00105669;
gallon = mL * 0.000264172;
liter = mL * 0.001;
break;
case "tsb":
tsp = number;
mL = tsp * 4.92892;
tbsp = tsp * 0.333333;
fluid_ounces = tsp * 0.166667;
cup = tsp * 0.0208333;
pint = tsp * 0.0104167;
quart = tsp * 0.00520833;
gallon = tsp * 0.00130208;
liter = tsp * 0.00492892;
break;
case "tbsp":
tbsp = number;
mL = tbsp * 14.7868;
tsp = tbsp * 3;
fluid_ounces = tbsp * 0.5;
cup = tbsp * 0.0625;
pint = tbsp * 0.03125;
quart = tbsp * 0.015625;
gallon = tbsp * 0.00390625;
liter = tbsp * 0.0147868;
break;
case "fluid ounce":
fluid_ounces = number;
mL = fluid_ounces * 29.5735;
tsp = fluid_ounces * 6;
tbsp = fluid_ounces * 2;
cup = fluid_ounces * 0.125;
pint = fluid_ounces * 0.0625;
quart = fluid_ounces * 0.03125;
gallon = fluid_ounces * 0.0078125;
liter = fluid_ounces * 0.0295735;
break;
case "cup":
cup = number;
mL = cup * 236.588;
tsp = cup * 48;
tbsp = cup * 16;
fluid_ounces = cup * 8;
pint = cup * 0.5;
quart = cup * 0.25;
gallon = cup * 0.0625;
liter = cup * 0.236588;
break;
case "pint":
pint = number;
mL = pint * 473.176;
tsp = pint * 96;
tbsp = pint * 32;
fluid_ounces = pint * 16;
cup = pint * 2;
quart = pint * 0.5;
gallon = pint * 0.125;
liter = pint * 0.473176;
break;
case "quart":
quart = number;
mL = quart * 946.353;
tsp = quart * 192;
tbsp = quart * 64;
fluid_ounces = quart * 32;
cup = quart * 4;
pint = quart * 2;
gallon = quart * 0.25;
liter = quart * 0.946353;
break;
case "gallon":
gallon = number;
mL = gallon * 3785.41;
tsp = gallon * 768;
tbsp = gallon * 256;
fluid_ounces = gallon * 128;
cup = gallon * 16;
pint = gallon * 8;
quart = gallon * 4;
liter = gallon * 3.78541;
break;
case "liter":
liter = number;
mL = liter * 1000;
tsp = liter * 202.884;
tbsp = liter * 67.628;
fluid_ounces = liter * 33.814;
cup = liter * 4.22675;
pint = liter * 2.11338;
quart = liter * 1.05669;
gallon = liter * 0.264172;
break;
}
switch (to_measurement)
{
case "mL":
return mL;
case "tsb":
return tsp;
case "tbsp":
return tbsp;
case "fluid ounce":
return fluid_ounces;
case "cup":
return cup;
case "pint":
return pint;
case "quart":
return quart;
case "gallon":
return gallon;
case "ounce":
return ounce;
case "gram":
return gram;
case "pound":
return pound;
case "liter":
return liter;
}
}
}
누구든지이 게시물을 투표 한 사람이 대답 할 수 있도록 질문을 추가하십시오. 사이드 노트 : 샘플 코드는 기본 상속이 거대한'switch' 문에 대한 표준 대체품으로 훨씬 더 간결한 코드로 이어지는 것을 보여줍니다. –