我找不到原因的情況下2,3不會讓我用其他的類別選擇,但它讓我在案例1中使用它。它在哪裏分崩離析?哪些代碼需要編輯?程序compiller不會讓我在過去的2例使用「其他」,我不明白爲什麼
我固定在別人的我的看法,但我得到了前控制不能從一個case標籤(「情形3:」)通過跌倒了,我從來沒有見過一個新的錯誤到另一個。這是什麼意思?
using System;
class Program
{
enum Numbers { standard = 1, express = 2, same = 3 };
const int A = 1, B = 2;
const int Y = 3, N = 4;
static void Main()
{
double cost, LB;
int Number_of_items;
int myNumbers;
char catagory;
char surcharge = 'Y';
Console.WriteLine("please enter the type of shiping you want");
Console.WriteLine("Enter 1:standard shipping.");
Console.WriteLine("Enter 2:express shipping.");
Console.WriteLine("Enter 3:same day shipping.");
myNumbers = int.Parse(Console.ReadLine());
switch ((Numbers)myNumbers)
{
case Numbers.standard:
Console.WriteLine("thankyou for chooseing standerd shipping");
Console.WriteLine("please choose a catagory");
Console.Write("Type A or B to make your selection");
catagory = char.Parse(Console.ReadLine());
{
if (catagory == 'A')
{
Console.Write("please enter the number of items");
Number_of_items = int.Parse(Console.ReadLine());
cost = 3 * Number_of_items;
Console.Write("is this shipment going to alaska or Hawaii? (Y or N)");
surcharge = char.Parse(Console.ReadLine());
if (surcharge == 'Y')
{
cost = cost + 2.50;
Console.WriteLine("Total cost is {0}.", cost);
}
else
Console.WriteLine("total cost is {0}.", cost);
}
else
Console.Write("please enter the weight in pounds");
LB = double.Parse(Console.ReadLine());
cost = 1.45 * LB;
Console.WriteLine("is this shipment going to alaska or Hawaii? (Y or N)");
} surcharge = char.Parse(Console.ReadLine());
if (surcharge == 'Y')
{
cost = cost + 2.50;
Console.WriteLine("Total cost is {0}.", cost);
}
else
Console.WriteLine("total cost is {0}.", cost);
break;
case Numbers.express:
Console.WriteLine("thankyou for chooseing Express Shipping");
Console.WriteLine("please choose a catagory");
Console.Write("Type A or B to make your selection");
catagory = char.Parse(Console.ReadLine());
if (catagory == 'A')
{
Console.Write("please enter the number of items");
Number_of_items = int.Parse(Console.ReadLine());
cost = 4 * Number_of_items;
{
Console.Write("is this shipment going to alaska or Hawaii? (Y or N)");
surcharge = char.Parse(Console.ReadLine());
if (surcharge == 'Y')
{
cost = cost + 5.00;
Console.WriteLine("Total cost is {0}.", cost);
}
else
Console.WriteLine("total cost is {0}.", cost);
}
}
else
{
{
Console.Write("please enter the weight in pounds");
LB = double.Parse(Console.ReadLine());
cost = 2.50 * LB;
Console.WriteLine("is this shipment going to alaska or Hawaii? (Y or N)");
}
}
surcharge = char.Parse(Console.ReadLine());
if (surcharge == 'Y')
{
cost = cost + 5.00;
Console.WriteLine("Total cost is {0}.", cost);
}
else
Console.WriteLine("total cost is {0}.", cost);
break;
case Numbers.same:
Console.WriteLine("thankyou for chooseing Same Day Shipping");
Console.WriteLine("please choose a catagory");
Console.Write("Type A or B to make your selection");
catagory = char.Parse(Console.ReadLine());
if (catagory == 'A')
{
Console.Write("please enter the number of items");
Number_of_items = int.Parse(Console.ReadLine());
cost = 5.50 * Number_of_items;
Console.Write("is this shipment going to alaska or Hawaii? (Y or N)");
surcharge = char.Parse(Console.ReadLine());
if (surcharge == 'Y')
{
{
cost = cost + 8.00;
Console.WriteLine("Total cost is {0}.", cost);
}
}
else
{
Console.WriteLine("total cost is {0}.", cost);
}
}
else
{
{
Console.Write("please enter the weight in pounds");
LB = double.Parse(Console.ReadLine());
cost = 3.00 * LB;
surcharge = char.Parse(Console.ReadLine());
Console.WriteLine("is this shipment going to alaska or Hawaii? (Y or N)");
}
if (surcharge == 'Y')
{
cost = cost + 8.00;
Console.WriteLine("Total cost is {0}.", cost);
}
else
Console.WriteLine("total cost is {0}.", cost);
break;
}
Console.ReadLine();
}//End Main()
}
}
你會得到什麼錯誤? – SLaks
那裏有一些額外的{'從那裏我可以看到....不知道你爲什麼要嘗試範圍這些地區,這是很難看,因爲你的代碼格式不正確。 –
你應該正確地縮進代碼(例如,使用Visual Studio的格式選項) – SLaks