Zoe

(满分100分,少一个功能或限制扣5分,少一项大功能扣20分)

题目要求:(请仔细阅读需求,并严格按照需求编写程序)

连续输入5个学生的信息,每个学生都有以下4个内容:

1、学号 - 自动生成,不需要手动填写,第一个学生为“S001”第二个为“S002”依次类推
2、姓名 - 不能为空,输入正确方可继续,否则需要用户一直填写
3、生日 - 不能为空,需要验证时间格式是否正确,如果错误则一直填写
4、成绩 - 不能为空,0~100之间的数,需要有小数位数

注意:以上内容必须按照要求填写,请写好相应的验证,如果没填写正确,则让用户重复填写到正确为止

5个学生信息都输入完毕后,清空已显示的内容

然后按照分数从高到低的顺序将学生信息展示出来,并带有序号

显示格式如下:

==============学生成绩展示=================
序号 学号 姓名 出生年月 成绩
1 S003 王五 1990年1月 100
2 S001 李四 1992年2月 99
3 S002 张三 1994年4月 98.5
4 S005 赵六 1993年3月 95
5 S004 小花 1996年6月 90.5

namespace _2017_3_7_____考试题1
{
    class Program
    {
        struct student
        {
            public String code;
            public String name;
            public DateTime birthday;
            public Double  score;
        }
        static void Main(string[] args)
        {
            
            student s = new student();
            List<student> st = new List<student>();

            for (int i = 1; i <= 5; i++)
            {
                Console.Write("请输入第" + i + "个学生的姓名:");

                while (true)
                {
                    s.code = "S00" + i;
                   
                    s.name = Console.ReadLine();
                    int c = s.name.Length;
                if (c == 0)
                    {
                        Console.Write("请输入正确的姓名:");
                    }
                    else 
                    {
                        break;
                    }
                }
                Console.Write("请输入第" + i + "个学生的出生年月:");
                while(true)
                {  try
                {
                    s.birthday = Convert.ToDateTime(Console.ReadLine());
                    break;
                }
                catch { Console.Write("请输入正确的出生年月日:"); }

                }
                Console.Write("请输入第" + i + "个学生的成绩:");
                while (true)
                {
                    s.score = Convert.ToDouble(Console.ReadLine());
                    if (s.score > 100 || s.score < 0)
                    {
                        Console.Write("成绩输入有误,请重新输入:");
                    }
                    else
                    {
                        break;
                    }
                }
                st.Add(s);
            }

 

posted on 2017-03-08 20:46  口袋里的SKY  阅读(126)  评论(0编辑  收藏  举报