请教一个问题。
现在定义 成绩在90~100的 用A表示
成绩在80~90的 用B表示
成绩在70~80的 用c表示
成绩在60~70的 用D表示
成绩低于60的 用E表示用Switch ....case来实现,不在到在case 后面能不能写成:-Switch(Score)
{
case 90<Score<100:
Console.Writeline("Your Scrore is : A");
Break;
....
...
...
...}不知道case后门是否可以写成一个表达式。请大家指教。谢谢
现在定义 成绩在90~100的 用A表示
成绩在80~90的 用B表示
成绩在70~80的 用c表示
成绩在60~70的 用D表示
成绩低于60的 用E表示用Switch ....case来实现,不在到在case 后面能不能写成:-Switch(Score)
{
case 90<Score<100:
Console.Writeline("Your Scrore is : A");
Break;
....
...
...
...}不知道case后门是否可以写成一个表达式。请大家指教。谢谢
建议你用if-----else if ---------else
{
case 6:
break;
case 7:
break;
.....
}
switch(score/10)
{
case 9:
case 10:
Console.Writeline("Your Scrore is : A");
break; case 8:
Console.Writeline("Your Scrore is : B");
break; ……
case 6:
Console.Writeline("Your Scrore is :D");
break; default:
Console.Writeline("Your Scrore is :E");
}
{
case 6:
break;
case 7:
break;
.....
}这个确实不错, 但是有一个问题。在输入时需要处理,比如输入一个89.5 需要拿能个来转化啊Convert.ToInt32(Score); 找个转化不行的。 还有 还得为100 单独列一个case ,应该还有优化吧。。
using System;
using System.Collections.Generic;
using System.Text;namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string Score;
int Result;
Console.Write("Please Enter your Score:");
Score=Console.ReadLine();
Result = Convert.ToInt32(Score);
//这块需要一个合适的转化
switch (Result / 10)
{
case 10:
Console.WriteLine("Your Score is A");
Console.ReadLine();
break;
case 9:
Console.WriteLine("Your Score is A");
Console.ReadLine();
break;
case 8:
Console.WriteLine("Your Score is B");
Console.ReadLine();
break;
case 7:
Console.WriteLine("Your Score is C");
Console.ReadLine();
break;
case 6:
Console.WriteLine("Your Score is D");
Console.ReadLine();
break;
default:
Console.WriteLine("You are Fail");
Console.ReadLine();
break;
}
}
}
}上面加红的代码中,如果输入的是一个小数的 ,就会出错 因为Convert.ToInt32(Score)函数转化问题,请指教怎么写能够支持输入一个小数,然后判断。谢谢