재 작성을 도움이 될 것입니다.
내 솔루션에 대한 핵심 아이디어는 가격을 표현하기 위해 10 진수 데이터 유형을 사용하고 적절한 통화 기호로 출력하기 위해 표준 "C"형식을 사용하고 있습니다.
enum PizzaSize
{
Small,
Medium,
Large,
XLarge
}
class Program
{
static void Main(string[] args)
{
var pizzas = new[] {
new {
Name = "Plain",
Prices = new [] {
new { Size = PizzaSize.Small, Price = 8.80M },
new { Size = PizzaSize.Medium, Price = 12.80M },
new { Size = PizzaSize.Large, Price = 16.80M },
new { Size = PizzaSize.XLarge, Price = 20.80M },
}.ToDictionary(item => item.Size, item => item.Price)
},
new {
Name = "Hawaian",
Prices = new [] {
new { Size = PizzaSize.Small, Price = 10.90M },
new { Size = PizzaSize.Medium, Price = 15.90M },
new { Size = PizzaSize.Large, Price = 20.90M },
new { Size = PizzaSize.XLarge, Price = 25.90M },
}.ToDictionary(item => item.Size, item => item.Price)
},
new {
Name = "Beefy",
Prices = new [] {
new { Size = PizzaSize.Small, Price = 10.90M },
new { Size = PizzaSize.Medium, Price = 16.90M },
new { Size = PizzaSize.Large, Price = 21.90M },
new { Size = PizzaSize.XLarge, Price = 26.90M },
}.ToDictionary(item => item.Size, item => item.Price)
},
new {
Name = "Vegetarian",
Prices = new [] {
new { Size = PizzaSize.Small, Price = 10.90M },
new { Size = PizzaSize.Medium, Price = 14.90M },
new { Size = PizzaSize.Large, Price = 19.90M },
new { Size = PizzaSize.XLarge, Price = 24.90M },
}.ToDictionary(item => item.Size, item => item.Price)
},
};
int maxNameWidth = pizzas.Max(item => item.Name.Length);
const string nameOfPizzaLabel = "Name of Pizza";
if (maxNameWidth < nameOfPizzaLabel.Length)
{
maxNameWidth = nameOfPizzaLabel.Length;
}
Console.WriteLine("what type of Pizza do you want?");
Console.WriteLine("{0} \t{1}\t{2}\t{3}\t{4}",
nameOfPizzaLabel.PadLeft(maxNameWidth),
PizzaSize.Small,
PizzaSize.Medium,
PizzaSize.Large,
PizzaSize.XLarge);
foreach (var pizza in pizzas)
{
Console.WriteLine("{0}:\t{1:C}\t{2:C}\t{3:C}\t{4:C}",
pizza.Name.PadLeft(maxNameWidth),
pizza.Prices[PizzaSize.Small],
pizza.Prices[PizzaSize.Medium],
pizza.Prices[PizzaSize.Large],
pizza.Prices[PizzaSize.XLarge]);
}
}
}
나는 아직 아무것도 시도하지 않았습니다. 아직 초보자입니다. 내가 원하는 것은 출력의 각 숫자 앞에 통화 기호입니다. –
모든 것을 저장하기 위해 문자열 배열을 사용하는 것을 싫어합니다. 첫째, 피자 이름과 크기 당 가격 목록과 같은 동일한 데이터 유형으로 일반적인 데이터 구조에 저장합니다. 둘째, 가격을 문자열로 저장하므로 이러한 값이 숫자라는 사실에 대한 지식을 이미 잃어버린 것입니다. 10 진수 데이터 유형은 가격 저장에 가장 적합하며 올바르게 형식화 된 문자열 값을 생성하는 몇 가지 간단한 메커니즘을 제공합니다. 표준 형식 문자열 : http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx –
힌트를 보내 주셔서 감사합니다. 그러나 강사의 할당 요구 사항입니다. :) –