您的位置:首页 > 编程语言 > C#

C#版本的学生成绩管理系统

2016-10-15 22:57 866 查看


using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

/**

 * 作者 张俊强

 * 版本 1.0

 * 时间 2016/10/15

 * 功能 成绩管理系统

 */

namespace StudentManagerSystem

{

    class Student {

        private String stuNum;//学号

        private String stuName;//姓名

        private Double chineseGrade=0;//语文成绩

        private Double englishGrade=0;//英语成绩

        private Double mathGrade=0;//数学成绩

        private String comment;//评价

        public String getStuNum()

        {

            return this.stuNum;

        }

        public String getStuName()

        {

            return this.stuName;

        }

        public Double getChineseGrade()

        {

            return this.chineseGrade;

        }

        public Double getEnglishGrade()

        {

            return this.englishGrade;

        }

        public Double getMathGrade()

        {

            return this.mathGrade;

        }

        public String getComment()

        {

            return this.comment;

        }

        public void setStuNum(String stuNum){

            this.stuNum=stuNum;

        }

        public void setStuName(String stuName) {

            this.stuName = stuName;

        }

        public void setChineseGrade(Double chineseGrade){

            this.chineseGrade=chineseGrade;

        }

        public void setEnglishGrade(Double englishGrade){

            this.englishGrade=englishGrade;

        }

        public void setMathGrade(Double mathGrade){

            this.mathGrade=mathGrade;

        }

        public String getAveageGrade(){

            return ((this.chineseGrade + this.mathGrade + this.englishGrade) / 3.0).ToString("0.00");

        }

        public void setComment(String comment){

            this.comment = comment;

        }

        public Student(String stuNum, String stuName)

        {

            this.stuNum = stuNum;

            this.stuName = stuName;

        }

        public Student() { }

    }

    class Teacher {

        private String teaNum;

        private String teaName;

    }

   

    class Program

    {

        public static int countStu = 4;

        public static Student[] stu = new Student[400];

        static void Main(string[] args){

            

            /*
4000
*

             * 初始化四个学生

             */

            initStudent();

            while (true)

            {

                /**

                 * 记录登录名以及密码

                 */

                String loginName;

                String loginPassword;

                Console.WriteLine("请输入登录名:");

                while (true)

                {

                    try

                    {

                        loginName = Console.ReadLine();

                        if (loginName == "std" || loginName == "admin")

                            break;

                        else

                            Console.WriteLine("输入错误,请重新输入!");

                    }

                    catch (Exception e)

                    {

                        Console.WriteLine("输入错误,请重新输入!");

                    }

                }

                Console.WriteLine("请输入密码:");

                while (true)

                {

                    try

                    {

                        loginPassword = Console.ReadLine();

                        if (loginPassword == "std" || loginPassword == "admin")

                            break;

                        else

                            Console.WriteLine("输入错误,请重新输入!");

                    }

                    catch (Exception e)

                    {

                        Console.WriteLine("输入错误,请重新输入!");

                    }

                }

                switch (loginName)

                {

                    case "admin":

                        Console.Clear();

                        Console.WriteLine("欢迎您老师!");

                        while (true)

                        {

                            int teaChoice = teaMenu();

                            //1.查看所有学生信息,2.添加学生,3.删除学生,4.评价学生,5.重新登录!

                            switch (teaChoice)

                            {

                                case 1:

                                    showAllStudent();

                                    break;

                                case 2:

                                    addStudent();

                                    break;

                                case 3:

                                    deleteStudent();

                                    break;

                                case 4:

                                    addStudentComment();

                                    break;

                                case 5:

                                    inputStuGrade();

                                    break;

                                case 6:

                                    modifyStuGrade();

                                    break;

                                case 7:

                                    break;

                                default: break;

                            }

                            if (teaChoice >= 7) break;

                        }

                        break;

                    case "std":

                        Console.Clear();

                        Console.WriteLine("欢迎你同学!");

                        while (true)

                        {

                            int stuChoice = stuMenu();

                            //1.查询成绩,2.查询老师寄语,3.重新登录!

                            switch (stuChoice)

                            {

                                case 1:

                                    getStudentMessage(stuChoice);

                                    break;

                                case 2:

                                    getStudentMessage(stuChoice);

                                    break;

                                case 3:

                                    break;

                                default: break;

                            }

                            if (stuChoice >= 3) break;

                        }

                        break;

                    default: break;

                }

            }

        }

        public static void initStudent(){

            stu[0] = new Student("1001", "张三");

            stu[1] = new Student("1002", "李四");

            stu[2] = new Student("1003", "王五");

            stu[3] = new Student("1004", "赵六");

        }

        public static int teaMenu() {

            Console.WriteLine("请输入您要的操作:1.查看所有学生信息,2.添加学生,3.删除学生,4.评价学生,5.录入成绩,6.修改成绩,7.重新登录!");

            int choice=0;

            while (true)

            {

                try

                {

                    choice = int.Parse(Console.ReadLine());

                    break;

                }

                catch (Exception e)

                {

                    Console.WriteLine("请输入1~7之间的数字!");

                }

            }

            return choice;

        }

        /**

         * 学生菜单

         */

        public static int stuMenu()

        {

            Console.WriteLine("请输入您要的操作:1.查询成绩,2.查询老师寄语,3.重新登录!");

            int choice = 0;

            while (true)

            {

                try

                {

                    choice = int.Parse(Console.ReadLine());

                    break;

                }

                catch (Exception e)

                {

                    Console.WriteLine("请输入1~3之间的数字!");

                }

            }

            return choice;

        }

        /**

         * 所有学生信息

         */

        public static void showAllStudent() {

            for(int i=0;i<countStu;i++){

                for(int j=i+1;j<countStu;j++){

                    if(Double.Parse(stu[i].getAveageGrade())<Double.Parse(stu[j].getAveageGrade())){

                        Student tempStu=stu[i];

                        stu[i]=stu[j];

                        stu[j]=tempStu;

                    }

                }

            }

            Console.WriteLine("排名\t学号\t姓名\t语文\t数学\t英语\t平均成绩\t评价");

            for (int i = 0; i < countStu; i++) {

                Console.WriteLine(i+"\t"+

                    stu[i].getStuNum()+"\t"+

                    stu[i].getStuName() + "\t" +

                    stu[i].getChineseGrade() + "\t" +

                    stu[i].getMathGrade() + "\t" +

                    stu[i].getEnglishGrade() + "\t" +

                    stu[i].getAveageGrade() + "\t" +

                    stu[i].getComment());

            }

        }

        /**

         * 添加学生

         */

        public static void addStudent()

        {

            if (countStu < 400)

            {

                String newStuNum;

                String newStuName;

                Console.WriteLine("请输入新同学的学号:");

                newStuNum = Console.ReadLine();

                Console.WriteLine("请输入新同学的姓名:");

                newStuName = Console.ReadLine();

                stu[countStu++] = new Student(newStuNum, newStuName);

            }

            else {

                Console.WriteLine("该班级人数超过限制,不可再添加学生!");

            }

        }

        /**

         * 添加学生评价

         */

        public static void addStudentComment(){

            while (true)

            {

                Console.WriteLine("请输入带评价学生的学号:(退出请输入EXIT)");

                String commentStuNum;

                int signStuPosition = -1;

                commentStuNum = Console.ReadLine();

                if (commentStuNum == "EXIT") {

                    return;

                }

                for (int i = 0; i < countStu; i++)

                {

                    if (stu[i].getStuNum() == commentStuNum)

                    {

                        signStuPosition = i;

                        break;

                    }

                }

                if (signStuPosition == -1)

                {

                    Console.WriteLine("未找到该学生!");

                }

                else

                {

                    Console.WriteLine("请输入您的评价!");

                    String comment;

                    comment = Console.ReadLine();

                    stu[signStuPosition].setComment(comment);

                }

            }

        }

        /**

         * 录入学生成绩

         */

        public static void inputStuGrade() {

            while (true)

            {

                Console.WriteLine("请输入待录成绩学生的学号:(退出请输入EXIT)");

                String commentStuNum;

                int signStuPosition = -1;

                commentStuNum = Console.ReadLine();

                if (commentStuNum == "EXIT")

                {

                    return;

                }

                for (int i = 0; i < countStu; i++)

                {

                    if (stu[i].getStuNum() == commentStuNum)

                    {

                        signStuPosition = i;

                        break;

                    }

                }

                if (signStuPosition == -1)

                {

                    Console.WriteLine("未找到该学生!");

                }

                else {

                    Console.Write("请输入语文成绩:");

                    stu[signStuPosition].setChineseGrade(Double.Parse(Console.ReadLine()));

                    Console.Write("请输入数学成绩:");

                    stu[signStuPosition].setMathGrade(Double.Parse(Console.ReadLine()));

                    Console.Write("请输入英语成绩:");

                    stu[signStuPosition].setEnglishGrade(Double.Parse(Console.ReadLine()));

                }

            }

        }

        /**

         * 修改成绩

         */

        public static void modifyStuGrade()

        {

            while (true)

            {

                Console.WriteLine("请输入待修改成绩学生的学号:(退出请输入EXIT)");

                String commentStuNum;

                int signStuPosition = -1;

                commentStuNum = Console.ReadLine();

                if (commentStuNum == "EXIT")

                {

                    return;

                }

                for (int i = 0; i < countStu; i++)

                {

                    if (stu[i].getStuNum() == commentStuNum)

                    {

                        signStuPosition = i;

                        break;

                    }

                }

                if (signStuPosition == -1)

                {

                    Console.WriteLine("未找到该学生!");

                }

                else

                {

                    Console.WriteLine("1.修改语文成绩,2.修改数学成绩,3.修改英语成绩!(退出请输入EXIT)");

                    switch (Console.ReadLine()) {

                        case "1": Console.Write("请输入语文成绩:");

                            stu[signStuPosition].setChineseGrade(Double.Parse(Console.ReadLine())); break;

                        case "2": Console.Write("请输入数学成绩:");

                            stu[signStuPosition].setMathGrade(Double.Parse(Console.ReadLine())); break;

                        case "3": Console.Write("请输入英语成绩:");

                            stu[signStuPosition].setEnglishGrade(Doub
e914
le.Parse(Console.ReadLine())); break;

                        case "EXIT": break ;

                        default: Console.WriteLine("输入有误!"); continue;

                    }

                }

            }

        }

        /**

         * 删除学生

         */

        public static void deleteStudent()

        {

            while (true)

            {

                if (countStu == -1)

                {

                    Console.WriteLine("现在学生数为0");

                    return;

                }

                else

                {

                    Console.WriteLine("请输入待删除成绩学生的学号:(退出请输入EXIT)");

                    String commentStuNum;

                    int signStuPosition = -1;

                    commentStuNum = Console.ReadLine();

                    if (commentStuNum == "EXIT")

                    {

                        return;

                    }

                    for (int i = 0; i < countStu; i++)

                    {

                        if (stu[i].getStuNum() == commentStuNum)

                        {

                            for (int k = i; k < countStu; k++)

                            {

                                if (k != countStu - 1)

                                {

                                    stu[k] = stu[k + 1];

                                }

                            }

                            signStuPosition = i;

                            countStu--;

                            break;

                        }

                    }

                }

            }

        }

        /**

         * 查询指定学生成绩

         */

        public static void getStudentMessage(int flag)

        {

            while (true)

            {

                if (countStu == -1)

                {

                    Console.WriteLine("现在学生数为0");

                    return;

                }

                else

                {

                    Console.WriteLine("请输入待查询学生的学号:(退出请输入EXIT)");

                    String commentStuNum;

                    int signStuPosition = -1;

                    commentStuNum = Console.ReadLine();

                    if (commentStuNum == "EXIT")

                    {

                        return;

                    }

                    for (int i = 0; i < countStu; i++)

                    {

                        if (commentStuNum == stu[i].getStuNum()) {

                            signStuPosition = i;

                            break;

                        }

                        

                    }

                    if (flag == 1)

                    {

                        Console.WriteLine("学号\t姓名\t语文\t数学\t英语\t平均成绩");

                        Console.WriteLine(

                            stu[signStuPosition].getStuNum() + "\t" +

                            stu[signStuPosition].getStuName() + "\t" +

                            stu[signStuPosition].getChineseGrade() + "\t" +

                            stu[signStuPosition].getMathGrade() + "\t" +

                            stu[signStuPosition].getEnglishGrade() + "\t" +

                            stu[signStuPosition].getAveageGrade());

                    }

                    else {

                        Console.WriteLine("学号\t姓名\t评价");

                        Console.WriteLine(

                            stu[signStuPosition].getStuNum() + "\t" +

                            stu[signStuPosition].getStuName() + "\t" +

                            stu[signStuPosition].getComment() );

                    }

                }

            }

        }

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: