【发布时间】:2016-12-12 18:36:07
【问题描述】:
我在运行包含同一类中的多个方法的程序时遇到困难。代码如下:
namespace E03_pt2_3
{
class Program
{
static void Main(string[] args)
{
int numberOfDrawers = 0;
string deskWoodType = "o";
double cost = 0;
drawersMeth(out numberOfDrawers);
woodTypeMeth(out deskWoodType);
CalculateCostMeth(ref numberOfDrawers, ref cost, ref deskWoodType);
OutPutCostMeth(ref deskWoodType , cost, numberOfDrawers);
}//end main
private static void drawersMeth(out int numberOfDrawers)
{
int numOfDrawers;
Console.WriteLine("Enter the number of desk drawers");
numOfDrawers = Convert.ToInt16(Console.ReadLine());
numberOfDrawers = numOfDrawers;
}//end drawersMeth
private static string woodTypeMeth(out string deskWoodType)
{
Console.WriteLine("Enter the desk wood type. (ex. type mahogany, oak, or pine)");
deskWoodType = Convert.ToString(Console.ReadLine());
switch (deskWoodType)
{
case "mahogany":
{
deskWoodType = "m";
break;
}
case "oak":
{
deskWoodType = "o";
break;
}
case "pine":
{
deskWoodType = "p";
break;
}
default:
{
deskWoodType = "error";
break;
}
}
return deskWoodType;
}// end woodTypeMeth
private static int CalculateCostMeth(ref string deskWoodType, ref int numberOfDrawers, out int cost)
{
int pine = 100;
int oak = 140;
int other = 180;
int surchage = 30;
if (deskWoodType == "p")
cost = pine + (numberOfDrawers * surchage);
else if (deskWoodType == "o")
cost = oak + (numberOfDrawers * surchage);
else
cost = other + (numberOfDrawers * surchage);
return cost;
}// end CalculateCostMeth
private static void OutPutCostMeth(int numberOfDrawers, string deskWoodType, int cost)
{
double totalCost = cost;
Console.WriteLine("The number of drawers is {0}", numberOfDrawers);
Console.WriteLine("The wood finish you have selected is ", deskWoodType);
Console.WriteLine("The total cost is {0}", totalCost);
}//end outputCost
}//end class
}//end nameSpace
程序的基本功能是从用户那里获得抽屉的数量。然后,获取木材类型,然后收集并显示总成本以及订单说明。
【问题讨论】:
-
你的代码是一堵文字墙 :(
-
编辑您的问题。选择所有代码,然后按 Ctrl-K。然后阅读How to Ask 以及如何创建minimal reproducible example。
-
你遇到了什么困难?很难从中看出你在问什么。
-
是的,代码有什么问题?会发生什么,您预计会发生什么?
-
你的公式不应该是
surchage + (numberOfDrawers * type)吗?此外,您的大多数方法都不需要ref或out,一般情况下应尽量避免使用它们。
标签: c#