怎么防止用户输入错误信息

• 让用户输入一个学生的姓名,以及三门功课的成绩,之后通过其 输入计算出该学生总成绩和平均成绩并输入。 Xxx 的总成绩为 xxx ,平均成绩为 xxx 。 • 如果用户输入有错怎么防? 只能输入数字!

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
         
            Console.Write("请输入一个学生姓名:");
            string studentName = Console.ReadLine();
            Console.Write("请输入数学成绩:");
            string Sx =Console.ReadLine();
            Console.Write("请输入语文成绩:");
            string Chinese = Console.ReadLine();
            Console.Write("请输入英语成绩:");
            string English = Console.ReadLine();
            //////////////////用正则判断是否是数字,用Match判断输入的是不是数字,如果等于true则是真,否则是假
            if (Regex.Match(Sx, @"^[0-9]*$").Success == true && Regex.Match(Chinese, @"^[0-9]*$").Success == true && Regex.Match(English, @"^[0-9]*$").Success == true)
            {
                int num1=Convert.ToInt32(Chinese);
                int num2=Convert.ToInt32(Sx);
                int num3=Convert.ToInt32(English);
                int sum =  num1+ num2 + num3;
                double age = sum / 3.0;
                if ((num1 <= 100 && num2 <= 100 && num3 <= 100) && (num1 > 0 && num2 > 0 && num3 > 0))
                {
                    Console.WriteLine("{0}总成绩为{1},平均成绩为{2}", studentName, sum, age);
                }
                else {
                    Console.WriteLine("成绩只能在0-100之间,包括100!");
                }
            }
               
            else
            {
               Console.WriteLine("您输入的成绩有误,成绩只能数字!");
            }
            Console.ReadKey();        }
    }
}

posted @ 2012-04-09 16:43  奇奇博客  阅读(261)  评论(0编辑  收藏  举报