项目:班级学生考试成绩排序程序 计应192西 第五组 潘雨航

需求分析:算出平均值,并排序                       时间:20minute

设计文档:一个StuAchv类,Main方法StuAchv方法 SolvingAver方法  PrintStuMess方法                       时间:45minutes

设计复审:杨同乐复审                               时间:60minutes                                       

代码规范:使用驼峰式命名                           时间:30minutes                                      

 

具体设计: 设计四种方法,

  1. 输出全班成绩
  2. 求出每个人学生的平均成绩
  3. 按平均成绩降序排序
  4. 输出排序后的全班成绩。        

                                                    时间: 60minutes

具体实现代码为下:工作时间 1119行代码

class StuAchv

    {

        private string Name;

        private string Num;

        private int Net;

        private int English;

        private int Math;

        private double Aver;

        static int Total;

          StuAchv(string newName, string newNum, int newNet, int newEnglish, int newMath, double newAver)

        {

            Name = newName; Num = newNum;

            Net = newNet; English = newEnglish;

            Math = newMath; Aver = newAver;

        }

        public static StuAchv[] InputStuMess() //输入全班同学信息

        {

            int i, f, d, e; string a, b, c; double j;

            StuAchv[] Stul;

            Stul = new StuAchv[25];

            Console.WriteLine("提示: \n 当学生姓名输入为0时,系统认为输入结束!");

            for (i = 0; i < 25; i++)

            {

                Console.WriteLine("请输入学生姓名: ");

                a = Console.ReadLine();

                if (a == "0")

                {

                    Total = i;

                    break;

                }

                Console.WriteLine("请输入该学生学号: ");

                b = Console.ReadLine();

                Console.WriteLine("请输入该学生NET成绩: ");

                c = Console.ReadLine();

                f = Convert.ToInt32(c);

                Console.WriteLine("请输入该学生英语成绩: ");

                c = Console.ReadLine();

                d = Convert.ToInt32(c);

                Console.WriteLine("请输入该学生数学成绩: ");

                c = Console.ReadLine();

                e = Convert.ToInt32(c);

                j = SolvingAver(f, d, e);

                Stul[1] = new StuAchv(a, b, f, d, e, j);

            }

            return NewMethod(Stul);

        }

 

        private static StuAchv[] NewMethod(StuAchv[] Stul)

        {

            return Stul;

        }

 

        public static double SolvingAver(int newNet, int newEnglish, int newMath)//求平均数

        {

            double newAver;

            newAver = newNet + newEnglish + newMath;

            newAver = newAver / 3;

            return newAver;

        }

        public static StuAchv[] Sequence(StuAchv[] Stu)//进行排序,冒泡

        {

            StuAchv model;

            int i = 0, j = Total - 1;

            int key;

            while (j != 0)

            {

                i = 0;

                key = 0;

                while (i != j)

                {

                    if (Stu[i].Aver < Stu[i + 1].Aver)

                    {

                        model = Stu[i];

                        Stu[i] = Stu[i + 1];

                        Stu[i + 1] = model;

                        key = 1;

                    }

                }

                if (key == 0)

                    break;

                j--;

            }

            return Stu;

        }

        public static void PrintStuMess(StuAchv[] Stu)

        {

            int i;

            Console.WriteLine("计应192成绩表");

            Console.Write("班级\t学号\t.NET\t英语\t数学\t平均分\n");

            for (i = 0; i < Total; i++)

 

                Console.Write("{0}\t{1}\t   {2}\t  {3}\t  {4}\t  {5}\n", Stu[i].Name, Stu[i].Num, Stu[i].Net, Stu[i].English, Stu[i].Math, Stu[i].Aver);

        }

        public static void Main()

        {

            StuAchv[] Stu;

            Stu = InputStuMess();

            Stu = Sequence(Stu);

            Console.WriteLine("**********************************");

            PrintStuMess(Stu);

            return;

        }

}

代码复审:仔细查看代码规范和符号                       时间:30minutes                               

测试:基本可以运作                                     时间:2minutes

测试报告:没有问题功能实现                             时间:1minutes                                  

计算工作量:                                           时间:2d                                        

感悟: 好不容易,在手打的时候会遇见各种情况,一个小写字母的错误都有可能让代码失灵。

posted @ 2021-04-11 17:00  计应192西五组  阅读(80)  评论(0编辑  收藏  举报