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

版权声明:转载请注明出处! https://blog.csdn.net/zjq_1314520/article/details/52826221

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){


            
            /**
             * 初始化四个学生
             */
            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(Double.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() );
                    }
                }


            }
        }
    }
}

阅读更多

没有更多推荐了,返回首页