using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace st__009
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("输入学生百分制的成绩:");
            int Grade = (int)Console.Read();
            switch (Grade / 10)
            {
                case 9:
                case 10: Console.WriteLine("你的成绩是:A");
                    break;
                case 8: Console.WriteLine("你的成绩是:B");
                    break;
                default: Console.WriteLine("你的成绩是:C");
                    break;
            }
            Console.Read();
        }
    }
}
 为什么答案最后还是一闪而过?我隐约看到,输出的结果不对,有人说要将int Grade = (int)Console.Read();改为console.readline()但vs2010显示无法将其转换成int型?求教,谢谢啦

解决方案 »

  1.   

    你还真是够新的
    readline的返回值明显是个string,你干嘛一定要用之前的int去接受
    你换成一个string就好了
      

  2.   

    同意楼上string转换int 当然可以
    string a = "98";
    int b = int.Parse(a);
      

  3.   

    static void Main(string[] args)
      {
      Console.Write("输入学生百分制的成绩:");
      int Grade = (int)Console.Read();
      switch (Grade / 10)
      {
      case 9:
      case 10: Console.WriteLine("你的成绩是:A");
      break;
      case 8: Console.WriteLine("你的成绩是:B");
      break;
      default: Console.WriteLine("你的成绩是:C");
      break;
      }
     Console.ReadLine(); //最后加这个可以解决你说的一闪而过
      }
      

  4.   

    谢你啊,大哥,后面加个输出语句,我也加了,因为一闪而过,所以才问,呵呵,不过现在我找到问题所在了,是编程环境的问题,自己解决了,呵呵 ,现在再麻烦你下,大哥,麻烦告诉我console。read()与console.readline()具体有什么区别,除了前一个输出字符,后一个是字符串,在用法上有木有要具体要注意的?
      

  5.   

    就是int Grade = (int)Console.Read();
    这一步 如何更改,谢谢啊
      

  6.   


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;namespace st__009
    {
      class Program
      {
          static void Main(string[] args)
          {
                Console.Write("输入学生百分制的成绩:");
                string Grade = (int)Console.ReadLine();
                try
                {
                       //捕获异常,输入不是数字
                       switch ((int)(int.Parse(Grade) / 10))
                       {
                               case 9:
                               case 10:
                                       Console.WriteLine("你的成绩是:A");
                                break;
                               case 8: 
                                      Console.WriteLine("你的成绩是:B");
                               break;
                              default:
                                       Console.WriteLine("你的成绩是:C");
                              break;
                        }
                        catch(Exception ex)
                        {
                              Console.WriteLine("请输入数字!");
                        }
               }
               Console.ReadLine();
           }
       }
    }
      

  7.   

      catch(Exception ex)
                        {
                              Console.WriteLine("请输入数字!");
                        }
               }
    这里有点看不懂?能否 解释下不?谢谢啊
      

  8.   


    Read()读取一个字符,返回该字符的ascII码,
    ReadLine()是读取一行,返回值是string类型。上面的是异常处理,就是加入你输入的不是数字,那么捕获到异常后,就输出到控制台,进行提示。