把你的代码简单的改了一下,用switch就这么做。声明一个枚举用于存放等级信息,把评级方法封装,返回类型是声明的枚举类型。最后在main方法中调用评级方法,根据返回值做不同操作。这样做的好处是不至于在main方法中代码写一大坨,而且一目了然,非常清晰。代码如下,给分给分!- enum DengJi
- {
- YouXiu, //优秀
- LiangHao, //良好
- JiGe, //及格
- BuJiGe //不及格
- }
- static DengJi PingJi(int fenshu)
- {
- if (fenshu >= 90)
- {
- //分数>=90显示成绩优秀
- //Console.WriteLine(subject + "成绩优秀");
- return DengJi.YouXiu;
- }
- else if (fenshu >= 70)
- {
- //分数在70到90间(包含70)显示成绩良好
- //Console.WriteLine(subject + "成绩良好");
- return DengJi.LiangHao;
- }
- else if (fenshu >= 60)
- {
- //分数在60到70间(包含60)显示及格
- //Console.WriteLine(subject + "及格");
- return DengJi.JiGe;
- }
- else
- {
- //分数小于60显示不及格
- //Console.WriteLine(subject + "不及格");
- return DengJi.BuJiGe;
- }
- }
- static void Main(string[] args)
- {
- //判断一个学生单科成绩优秀、良好、及格、不及格
- Console.WriteLine("请输入科目");
- string subject = Console.ReadLine();
- Console.WriteLine("请输入你的成绩");
- int score = 0;
- try
- {
- score = Convert.ToInt32(Console.ReadLine());
- }
- catch
- {
- Console.WriteLine("请输入数字");
- Console.ReadKey();
- return;
- }
- switch (PingJi(score))
- {
- case DengJi.YouXiu:
- Console.WriteLine("{0}成绩优秀", subject);
- break;
- case DengJi.LiangHao:
- Console.WriteLine("{0}成绩良好", subject);
- break;
- case DengJi.JiGe:
- Console.WriteLine("{0}成绩及格", subject);
- break;
- case DengJi.BuJiGe:
- Console.WriteLine("{0}成绩不及格", subject);
- break;
- }
- Console.ReadKey();
复制代码
|