3
20/10/2024 3:00 pm
トピックスターター
The local fruit market offers fruits and vegetables with the following standard price list:
- banana -> 1.80
- cucumber -> 2.75
- tomato -> 3.20
- orange -> 1.60
- apple -> 0.86
The market owner decided to introduce the following discounts:
- Friday -> 10% off for all products
- Sunday -> 5% off for all products
- Tuesday -> 20% off for fruits
- Wednesday -> 10% off for vegetables
- Thursday -> 30% off for bananas
Write a program that helps the fruit market owner to calculate the total price for orders that consist of day, 3 products with quantities.
Input:
The input data should be read from the console. The input data consists of exactly 7 lines:
- At the first line you will be given the day of week.
- At the next 6 lines you will be given: quantity1, product1, quantity2, product2, quantity3, product3.
The input data will always be valid and in the format described. There is no need to check it explicitly.
Output:
You have to print at the console the total price for the specified 3 products at the specified day of week.
Constraints:
- The day of week is one of the values: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, and Sunday.
- The product quantities (quantity1, quantity2, quantity3) will be a number in the range [1…100], with up to 2 digits after the decimal point. The will be used "." as decimal separator.
- The products names (product1, product2, product3) is one of the values: banana, cucumber, tomato, orange, and apple.
- The total price should be rounded to exactly 2 digits after the decimal point (use "." as decimal separator).
- Allowed work time for your program: 0.1 seconds.
- Allowed memory: 16 MB.
Examples:


1件の回答
2
20/10/2024 3:01 pm
Here's the solution with dictionary:
using System;
using System.Collections.Generic;
class FruitMarket14April2014Morning
{
static void Main()
{
string dayOfTheWeek = Console.ReadLine();
decimal quantity1 = decimal.Parse(Console.ReadLine());
string product1 = Console.ReadLine();
decimal quantity2 = decimal.Parse(Console.ReadLine());
string product2 = Console.ReadLine();
decimal quantity3 = decimal.Parse(Console.ReadLine());
string product3 = Console.ReadLine();
Dictionary<string, decimal> products = new Dictionary<string, decimal>();
products.Add("banana", 1.8m);
products.Add("orange", 1.6m);
products.Add("apple", 0.86m);
products.Add("cucumber", 2.75m);
products.Add("tomato", 3.2m);
switch (dayOfTheWeek)
{
case "Monday":
products["banana"] = 1.8m;
products["orange"] = 1.6m;
products["apple"] = 0.86m;
products["cucumber"] = 2.75m;
products["tomato"] = 3.2m;
break;
case "Tuesday":
products["banana"] = 1.8m * 0.8m;
products["orange"] = 1.6m * 0.8m;
products["apple"] = 0.86m * 0.8m;
products["cucumber"] = 2.75m;
products["tomato"] = 3.2m;
break;
case "Wednesday":
products["banana"] = 1.8m;
products["orange"] = 1.6m;
products["apple"] = 0.86m;
products["cucumber"] = 2.75m * 0.9m;
products["tomato"] = 3.2m * 0.9m;
break;
case "Thursday":
products["banana"] = 1.8m * 0.7m;
products["orange"] = 1.6m;
products["apple"] = 0.86m;
products["cucumber"] = 2.75m;
products["tomato"] = 3.2m;
break;
case "Friday":
products["banana"] = 1.8m * 0.9m;
products["orange"] = 1.6m * 0.9m;
products["apple"] = 0.86m * 0.9m;
products["cucumber"] = 2.75m * 0.9m;
products["tomato"] = 3.2m * 0.9m;
break;
case "Saturday":
products["banana"] = 1.8m;
products["orange"] = 1.6m;
products["apple"] = 0.86m;
products["cucumber"] = 2.75m;
products["tomato"] = 3.2m;
break;
case "Sunday":
products["banana"] = 1.8m * 0.95m;
products["orange"] = 1.6m * 0.95m;
products["apple"] = 0.86m * 0.95m;
products["cucumber"] = 2.75m * 0.95m;
products["tomato"] = 3.2m * 0.95m;
break;
}
decimal sum = quantity1 * products[product1] + quantity2 * products[product2] + quantity3 * products[product3];
Console.WriteLine("{0:F2}",sum);
}
}
