C#学员管理系统(源代码)

C# 专栏收录该内容
12 篇文章 0 订阅

C#学员管理系统

C#学员管理系统是在控制台输出的项目,和OOP学员管理系统相似。

① 创建一个学员的实体类Student,实现其构造方法和封装:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
/// <summary>
/// 实体类
/// </summary>
namespace BaseXm
{
    /// <summary>
    /// 学员的实体类
    /// </summary>
    public class Student
    {
        /// <summary>
        /// 学号
        /// </summary>
        private int _id;
        /// <summary>
        /// 姓名
        /// </summary>
        private string _name;
        /// <summary>
        /// 年龄
        /// </summary>
        private int _age;
        /// <summary>
        /// 性别
        /// </summary>
        private string _sex;
        /// <summary>
        /// 分数
        /// </summary>
        private int _grade;

		public override string ToString()
        {
            StringBuilder sb = new StringBuilder();
            sb.Append("学号:");
            sb.Append(_id);
            sb.Append(",姓名:");
            sb.Append(_name);
            sb.Append(",年龄:");
            sb.Append(_age);
            sb.Append(",性别:");
            sb.Append(_sex);
            sb.Append(",分数");
            sb.Append(_grade);
            return sb.ToString();
        }
        public int Id
        {
            get
            {
                return _id;
            }

            set
            {
                _id = value;
            }
        }

        public string Name
        {
            get
            {
                return _name;
            }

            set
            {
                _name = value;
            }
        }

        public int Age
        {
            get
            {
                return _age;
            }

            set
            {
                _age = value;
            }
        }

        public string Sex
        {
            get
            {
                return _sex;
            }

            set
            {
                _sex = value;
            }
        }

        public int Grade
        {
            get
            {
                return _grade;
            }

            set
            {
                _grade = value;
            }
        }
        
        public Student(int _id, string _name, int _age, string _sex, int _grade)
        {
            this.Id = _id;
            this.Name = _name;
            this.Age = _age;
            this.Sex = _sex;
            this.Grade = _grade;
        }
        public Student()
        {}
    }
}

② 写一个老师管理学员的接口ITeacher,写增删查改的方法:

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

namespace BaseXM
{
    /// <summary>
    /// 管理的接口类  泛型
    /// </summary>
    public interface ITeacher<T> where T : class
    {
        /// <summary>
        /// 增加学员
        /// </summary>
        /// <param name="t">学员对象</param>
        void AddStudent(T t);
        /// <summary>
        /// 编辑修改学员
        /// </summary>
        /// <param name="t">学号</param>
        void EditStudent(T t);
        /// <summary>
        /// 删除学员
        /// </summary>
        /// <param name="i">学号</param>
        void DeleteStudent(int i);
        /// <summary>
        /// 查询单个学员根据id
        /// </summary>
        /// <param name="i"></param>
        T SelectStudentById(int i);
        /// <summary>
        /// 查询最高分或最低分学员
        /// </summary>
        /// <param name="i"></param>
        ArrayList SelectMaxOrMin(int i);
        /// <summary>
        /// 查询总分与平均分
        /// </summary>
        int[] SelectSumAndAvg();
        /// <summary>
        /// 查询全部学员根据年龄或分数或学号排序
        /// </summary>
        ArrayList SelectStudentAgeGradeId(string str);
    }
}

③写学员管理的接口类 IStudent,实现老师的接口以及学员的实体类ITeacher:

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

namespace BaseXm
{
    /// <summary>
    /// 学员管理的接口类
    /// </summary>
    public interface IStudent : ITeacher<Student>
    {
    }
}

④实现学生管理的实现类,StudentManage,接着实现接口IStudent:

using BaseXm;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
/// <summary>
/// 实现类
/// </summary>
namespace BaseXM
{
    /// <summary>
    /// 学生管理实现类
    /// </summary>
    public class StudentManage : IStudent
    {

        #region 正则表达式 
        /// <summary>
        /// 正则表达式
        /// </summary>
        Regex reg = new Regex("^[0-9]+$");
        #endregion
         
        #region 学员集合List
        /// <summary>
        /// 学员集合 List
        /// </summary>
        private static ArrayList ls = new ArrayList();
        #endregion

        #region 登录信息  增加学员集合数据AddStudents()
        /// <summary>
        /// 增加学员数据
        /// </summary>
        public static void AddStudents()
        {
            //赋值
            ls.Add(new Student(1, "拾亿", 18, "男", 136));           
        }
        #endregion

        #region 增加学员AddStudent(Student q)
        /// <summary>
        /// 增加学员
        /// </summary>
        /// <param name="q"></param>
        public void AddStudent(Student q)
        {
            int i = 1;
            foreach (Student s in ls)
            {
                if (s.Id >= i)
                    i = s.Id + 1;
            }
            q.Id = i;
            ls.Add(q);
        }
        #endregion

        #region 删除学员DeleteStudent(int i)
        /// <summary>
        /// 删除学员
        /// </summary>
        /// <param name="i">学号</param>
        public void DeleteStudent(int i)
        {
            int p = 0;
            foreach (Student s in ls)
            {
                if (s.Id == i)
                {
                    ls.Remove(s);
                    break;
                }
                p++;
            }
        }
        #endregion

        #region 修改学员EditStudent(Student r)
        /// <summary>
        /// 修改学员
        /// </summary>
        /// <param name="r">学员对象</param>
        public void EditStudent(Student r)
        {
            foreach (Student s in ls)
            {
                if (s.Id == r.Id)
                {
                    s.Name = r.Name;
                    s.Age = r.Age;
                    s.Sex = r.Sex;
                    s.Grade = r.Grade;
                    break;
                }
            }
        }
        #endregion

        #region 登录界面 Login()
        public void Login()
        {
            while (true)
            {
                //Console.ForegroundColor = ConsoleColor.Blue; //设置字体颜色为蓝色

                Console.WriteLine("《《《《《《--------------------------------------------------------------&&&&----欢迎您来到 学员 管理系统----&&&&-------------------------------------------------------------》》》》》》》");
                Console.WriteLine("---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------");

                Console.WriteLine("---------------------------------------------------------------------------    此系统需要先登录后方可使用哦    ------------------------------------------------------------------------------");
                Console.WriteLine("                                                                            ----    请输入   学号    ----                                                                              ");
                string sy = Console.ReadLine().Trim();
                Console.WriteLine("                                                                            ----    请输入   姓名    ----                                                                              ");
                string wl = Console.ReadLine().Trim();
                if (sy.Equals("1") && wl.Equals("拾忆"))
                {
                    ShowMain();
                }
                else
                {
                    Console.WriteLine("学号或者姓名没有输入或者有误");
                    Login();
                }
                break;
            }
        }

        #endregion

        #region 一级菜单   界面
        /// <summary>
        /// 一级菜单 主界面
        /// </summary>
        /// 
        public void ShowMain()
        {
            while (true)
            {
                Console.ForegroundColor = ConsoleColor.Blue; //设置字体颜色为蓝色
                Console.WriteLine();
                Console.WriteLine("《《《《《《--------------------------------------------------------------&&&&----欢迎您来到 学员 管理系统----&&&&-------------------------------------------------------------》》》》》》》");
                Console.WriteLine("---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------");

                Console.WriteLine("---------------------------------------------------------------------------------    本系统有如下操作    ------------------------------------------------------------------------------------");
                Console.WriteLine("                                                                                   ----1.教员界面----                                                                                    ");
                Console.WriteLine();
                Console.WriteLine("                                                                                   ----2.学员界面----                                                                                    ");
                Console.WriteLine();
                Console.WriteLine("                                                                                 ----3.退出学员管理系统----                                                                                  ");
                Console.WriteLine();
                Console.WriteLine("                                                                            ----《《《《请输入1--2的数字》》》》----                                                                      ");
                Console.WriteLine();
                Console.WriteLine("---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------");
                string w = Console.ReadLine().Trim();
                if (w.Equals("1"))
                {
                    ShowMain11();
                }
                else if (w.Equals("2"))
                {
                    ShowMain12();
                }
                else if (w.Equals("3"))
                {
                    Console.WriteLine("         退出成功!!!欢迎您再次使用哦         ");
                }
                else
                {
                    Console.WriteLine("         输入错误!!!请依据提示重新请输入1--3的数字哦         ");
                    continue;
                }
                break;
            }
        }
        /// <summary>
        /// 一级菜单第一个 教员查看信息
        /// </summary>
        public void ShowMain11()
        {
            while (true)
            {
                Console.WriteLine("                                                                                   ----1.查看学员信息----                                                                                    ");
                Console.WriteLine();
                Console.WriteLine("                                                                                   ----2.增加学员信息----                                                                                    ");
                Console.WriteLine();
                Console.WriteLine("                                                                                   ----3.修改学员信息----                                                                                    ");
                Console.WriteLine();
                Console.WriteLine("                                                                                   ----4.删除学员信息----                                                                                    ");
                Console.WriteLine();
                Console.WriteLine("                                                                                   ----5.返回上级菜单----                                                                                    ");
                Console.WriteLine();
                Console.WriteLine("                                                                                 ----6.退出学员管理系统----                                                                                  ");
                Console.WriteLine();
                Console.WriteLine("                                                                            ----《《《《请输入1--5的数字》》》》----                                                                      ");
                Console.WriteLine();
                Console.WriteLine("---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------");
                string x = Console.ReadLine().Trim();
                if (x.Equals("1"))
                {
                    ShowMain123();
                }
                else if (x.Equals("2"))
                {
                    ShowMain212();

                }
                else if (x.Equals("3"))
                {
                    ShowMain23();
                }
                else if (x.Equals("4"))
                {
                    ShowMain24();
                }
                else if (x.Equals("5"))
                {
                    ShowMain();
                    break;
                }
                else if (x.Equals("6"))
                {
                    Console.WriteLine("         退出成功!!!欢迎您再次使用哦         ");
                }
                else
                {
                    Console.WriteLine("         输入错误!!!请依据提示重新请输入1--5的数字哦         ");
                    continue;
                }
                break;
            }
        }
        ///  <summary>
        /// 一级菜单第二个 学员查看信息
        /// </summary>
        public void ShowMain12()
        {
            while (true)
            {

                Console.WriteLine("                                                                                   ----1.查看学员信息----                                                                                    ");
                Console.WriteLine();
                Console.WriteLine("                                                                                 ----2.退出学员管理系统----                                                                                  ");
                Console.WriteLine();
                Console.WriteLine("                                                                                   ----3.返回上级菜单----                                                                                    ");
                Console.WriteLine();
                Console.WriteLine("                                                                            ----《《《《请输入1--2的数字》》》》----                                                                      ");
                Console.WriteLine();
                Console.WriteLine("---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------");
                string x = Console.ReadLine().Trim();
                if (x.Equals("1"))
                {
                    ShowMain124();
                }
                else if (x.Equals("2"))
                {
                    Console.WriteLine("         退出成功!!!欢迎您再次使用哦         ");
                    break;

                }
                else if (x.Equals("3"))
                {
                    ShowMain();
                }
                else
                {
                    Console.WriteLine("         输入错误!!!请依据提示重新请输入1--2的数字哦         ");
                }
                break;
            }
        }

        #endregion

        #region 二级菜单第一个  查看信息
        /// <summary>  
        /// 二级菜单第一个  教员查看学员信息
        /// </summary>
        /// 
        private void ShowMain123()
        {
            while (true)
            {
                Console.WriteLine("%----------------------------%");
                Console.WriteLine("         1.查看单个学员信息         ");
                Console.WriteLine("         2.查看所有学员信息         ");
                Console.WriteLine("         3.返回上级菜单         ");
                Console.WriteLine("         请输入1--3的数字         ");
                Console.WriteLine("---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------");
                string s = Console.ReadLine().Trim();
                if (s.Equals("1"))
                {
                    ShowMain31();
                    break;
                }
                else if (s.Equals("2"))
                {
                    ShowMain32();
                    break;
                }
                else if (s.Equals("3"))
                {
                    ShowMain11();
                    break;
                }
                else
                {
                    Console.WriteLine("         输入错误!!!请按提示重新请输入1--3的数字!!!         ");
                }
            }
        }
        /// <summary>
        /// 二级菜单第二个 学员查看信息
        /// </summary>
        private void ShowMain124()
        {
            while (true)
            {
                Console.WriteLine("%----------------------------%");
                Console.WriteLine("         1.查看单个学员信息         ");
                Console.WriteLine("         2.查看所有学员信息         ");
                Console.WriteLine("         3.返回上级菜单         ");
                Console.WriteLine("         请输入1--3的数字         ");
                Console.WriteLine("---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------");
                string s = Console.ReadLine().Trim();
                if (s.Equals("1"))
                {
                    ShowMain311();
                    break;
                }
                else if (s.Equals("2"))
                {
                    ShowMain322();
                    break;
                }
                else if (s.Equals("3"))
                {
                    ShowMain12();
                    break;
                }
                else
                {
                    Console.WriteLine("         输入错误!!!请按提示重新请输入1--3的数字 !!!         ");
                }
            }
        }
        #endregion

        #region 二级菜单第二个   增加学员信息
        /// <summary>
        /// 二级菜单第二个
        /// </summary>
        private void ShowMain212()
        {
            while (true)
            {
                Console.WriteLine("%----------------------------%");
                Console.WriteLine("         1.增加学员信息         ");
                Console.WriteLine("         2.返回上级菜单         ");
                Console.WriteLine("         请输入1--2的数字         ");
                Console.WriteLine("---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------");
                string s = Console.ReadLine().Trim();
                if (s.Equals("1"))
                {
                    while (true)
                    {
                        Console.WriteLine("         请输入您要增加的学员的姓名:         ");
                        string name = Console.ReadLine().Trim();
                        if (name.Length < 2 || name.Length > 20)
                        {
                            Console.WriteLine("         姓名只能在2位到20位之间         ");
                            Console.WriteLine("         请输入a或其他任意字符退出         ");
                            if (Console.ReadLine().Trim().Equals("a"))
                                continue;
                        }
                        else
                        {
                            while (true)
                            {
                                Console.WriteLine("         请输入您要增加的学员的年龄         ");
                                string s2 = Console.ReadLine().Trim();
                                if (!reg.Match(s2).Success)
                                {

                                    Console.WriteLine("         输入的不是数字         ");
                                    Console.WriteLine("         请输入1或其他任意字符退出         ");
                                    if (Console.ReadLine().Equals("1"))
                                        continue;
                                }
                                else
                                {
                                    int age = int.Parse(s2);
                                    if (age < 10 || age > 50)
                                    {
                                        Console.WriteLine("         年龄只能在10-50岁之间的整数      ");
                                        Console.WriteLine("         请输入1或其他任意字符退出         ");
                                        if (Console.ReadLine().Equals("1"))
                                            continue;
                                    }
                                    else
                                    {
                                        while (true)
                                        {
                                            Console.WriteLine("         请输入你要增加的学员的性别:         ");
                                            string sex = Console.ReadLine();
                                            if (!(sex.Equals("男") || sex.Equals("女")))
                                            {
                                                Console.WriteLine("         性别只能为男或者女哦         ");
                                                Console.WriteLine("         请输入1或其他任意字符退出         ");
                                                if (Console.ReadLine().Trim().Equals("1"))
                                                    continue;
                                            }
                                            else
                                            {
                                                while (true)
                                                {
                                                    Console.WriteLine("         请输入您要增加的学员的分数(0~150):         ");
                                                    string s3 = Console.ReadLine().Trim();
                                                    Match ms2 = reg.Match(s3);
                                                    if (!ms2.Success)
                                                    {
                                                        Console.WriteLine("         输入的不是数字(0~150之间)          ");
                                                        Console.WriteLine("         请输入1或其他任意字符退出         ");
                                                        if (Console.ReadLine().Trim().Equals("1"))
                                                            continue;
                                                    }
                                                    else
                                                    {
                                                        int grade = int.Parse(s3);
                                                        if (grade > -1 && grade < 151)
                                                        {
                                                            Console.WriteLine("姓名:" + name + ",年龄:" + age + ",性别:" + sex + ",分数:" + grade);
                                                            Console.WriteLine("         您确认增加这位学员吗?请输入:1(确认)其它字符(取消)         ");
                                                            if (!Console.ReadLine().Trim().Equals("1"))
                                                            {
                                                                Console.WriteLine("         取消成功         ");
                                                                break;
                                                            }
                                                            AddStudent(new Student(0, name, age, sex, grade));
                                                            Console.WriteLine("         增加成功  !!!!       ");
                                                            break;
                                                        }
                                                        else
                                                        {
                                                            Console.WriteLine("         学员的分数在0-150分之间         ");
                                                            Console.WriteLine("         请输入1或其他任意字符退出         ");
                                                            if (Console.ReadLine().Trim().Equals("1"))
                                                                continue;
                                                        }
                                                    }
                                                    break;
                                                }
                                            }
                                            break;
                                        }
                                    }

                                }
                                break;
                            }
                        }
                        break;
                    }

                }
                else if (s.Equals("2"))
                {
                    ShowMain11();
                    return;
                }
                else
                {
                    Console.WriteLine("          请输入1--2的数字!!!         ");
                }

            }
        }
        #endregion

        #region 二级菜单第三个   修改学员信息
        void ShowMain23()
        {
            while (true)
            {
                Console.WriteLine("%----------------------------%");
                Console.WriteLine("         1.输入要修改的学号         ");
                Console.WriteLine("         2.返回上级菜单         ");
                Console.WriteLine("         请输入1--2的数字         ");
                Console.WriteLine("---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------");
                string s = Console.ReadLine().Trim();
                if (s.Equals("1"))
                {
                    while (true)
                    {
                        while (true)
                        {
                            Console.WriteLine("         请输入您要修改的学员的学号(阿拉伯数字):         ");
                            string t = Console.ReadLine().Trim();
                            if (!reg.Match(t).Success)
                            {
                                Console.WriteLine("        请输入1--2的数字         ");
                                break;
                            }
                            else
                            {
                                int id = int.Parse(t);
                                Student x = SelectStudentById(id);
                                if (x == null)
                                {
                                    Console.WriteLine("         教员没有添加此学号哦         ");
                                    break;
                                }
                                Console.WriteLine("         原来的姓名:" + x.Name + "          ");
                                Console.WriteLine("         请输入您要修改后的学员的姓名:         ");
                                string name = Console.ReadLine().Trim();
                                if (name.Length < 2 || name.Length > 20)
                                {
                                    Console.WriteLine("         姓名需要在2位到20位之间!!!         ");
                                    Console.WriteLine("         请输入1或其他任意字符退出         ");
                                    if (Console.ReadLine().Trim().Equals("1"))
                                        continue;
                                }
                                else
                                {
                                    while (true)
                                    {
                                        Console.WriteLine("         原来年龄:" + x.Age + "          ");
                                        Console.WriteLine("         请输入您要修改后的学员的年龄         ");
                                        string s2 = Console.ReadLine().Trim();
                                        if (!reg.Match(s2).Success)
                                        {
                                            Console.WriteLine("         学员的年龄只能为10-50之间的数字         ");
                                            Console.WriteLine("         请输入1或其他任意字符退出         ");
                                            if (Console.ReadLine().Equals("1"))
                                                continue;
                                        }
                                        else
                                        {
                                            int age = int.Parse(s2);
                                            if (age < 10 || age > 50)
                                            {
                                                Console.WriteLine("         学员的年龄在10-50岁之间!!!         ");
                                                Console.WriteLine("         请输入1或其他任意字符退出         ");
                                                if (Console.ReadLine().Equals("1"))
                                                    continue;
                                            }
                                            else
                                            {
                                                while (true)
                                                {
                                                    Console.WriteLine("         原姓别:" + x.Sex + "          ");
                                                    Console.WriteLine("         请输入修改后的学员的性别:         ");
                                                    string sex = Console.ReadLine();
                                                    if (!(sex.Equals("男") || sex.Equals("女")))
                                                    {
                                                        Console.WriteLine("         学员的性别只能位男或者女哦         ");
                                                        Console.WriteLine("         请输入1或其他任意字符退出         ");
                                                        if (Console.ReadLine().Trim().Equals("1"))
                                                            continue;
                                                    }
                                                    else
                                                    {
                                                        while (true)
                                                        {
                                                            Console.WriteLine("         原分数:" + x.Grade + "          ");
                                                            Console.WriteLine("         请输入修改后的学员的分数(0~150):         ");
                                                            string s3 = Console.ReadLine().Trim();
                                                            Match ms2 = reg.Match(s3);
                                                            if (!ms2.Success)
                                                            {
                                                                Console.WriteLine("         学员的分数只能在0-150分之间的整数         ");
                                                                Console.WriteLine("         请输入1或其他任意字符退出         ");
                                                                if (Console.ReadLine().Trim().Equals("1"))
                                                                    continue;
                                                            }
                                                            else
                                                            {
                                                                int grade = int.Parse(s3);
                                                                if (grade > -1 && grade < 151)
                                                                {
                                                                    Console.WriteLine("         原信息:" + x + "          ");
                                                                    Student y = new Student(x.Id, name, age, sex, grade);
                                                                    Console.WriteLine("         修改后的信息:" + y + "          ");
                                                                    Console.WriteLine("         您确认修改这位学员吗?请输入:1(确认)0(取消)         ");
                                                                    if (!Console.ReadLine().Trim().Equals("1"))
                                                                    {
                                                                        Console.WriteLine("         取消成功!         ");
                                                                        break;
                                                                    }

                                                                    EditStudent(y); 
                                                                    Console.WriteLine("         修改成功  !!!         ");
                                                                    break;
                                                                }
                                                                else
                                                                {
                                                                    Console.WriteLine("          学员的分数只能在0-150分之间的整数!!!         ");
                                                                    Console.WriteLine("         请输入1或其他任意字符退出         ");
                                                                    if (Console.ReadLine().Trim().Equals("1"))
                                                                        continue;
                                                                }
                                                            }
                                                            break;
                                                        }
                                                    }
                                                    break;
                                                }
                                            }

                                        }
                                        break;
                                    }
                                }
                            }
                            break;
                        }


                        break;
                    }

                }
                else if (s.Equals("2"))
                {
                    ShowMain11();
                    return;
                }
                else
                {
                    Console.WriteLine("          请输入1--2的数字哦 !!!         ");
                }

            }
        }
        #endregion
        
        #region 二级菜单第四个   删除学员信息
        void ShowMain24()
        {
            while (true)
            {
                Console.WriteLine("%----------------------------%");
                Console.WriteLine("         1.输入要删除的学号         ");
                Console.WriteLine("         2.返回上级菜单         ");
                Console.WriteLine("         请输入1--2的数字         ");
                Console.WriteLine("---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------");
                string s = Console.ReadLine().Trim();
                if (s.Equals("1"))
                {
                    while (true)
                    {
                        Console.WriteLine("         请输入你要删除的学员的学号(阿拉伯数字):         ");
                        string a = Console.ReadLine().Trim();
                        if (!reg.Match(a).Success)
                        {
                            Console.WriteLine("         请您输入学号数字哦!!!         ");
                            break;
                        }
                        else
                        {
                            int id = int.Parse(a);
                            Student student = SelectStudentById(id);
                            if (student == null)
                            {
                                Console.WriteLine("         教员没有添加此学号哦,学号为阿拉伯数字          ");
                            }
                            else
                            {
                                Console.WriteLine(student);

                                Console.WriteLine("         您确定要删除此位学员吗?请输入:1(确认) 其他(取消)         ");
                                if (Console.ReadLine().Trim().Equals("1"))

                                {
                                    DeleteStudent(id);

                                    Console.WriteLine("         删除成功! !!        ");
                                }
                                else
                                {
                                    Console.WriteLine("         取消成功! !!        ");
                                }
                            }
                        }
                        break;
                    }
                }
                else if (s.Equals("2"))
                {
                    ShowMain11();
                    break;
                }
                else
                {
                    Console.WriteLine("         输入错误!!!请输入1--2的数字哦        ");
                }
            }
        }
        #endregion

        #region 三级菜单第一个    查看单个学员信息
        /// <summary>
        /// 三级菜单第一个 教员查看
        /// </summary>
        private void ShowMain31()
        {
            while (true)
            {
                Console.WriteLine("%----------------------------%");
                Console.WriteLine("         1.根据学号查看信息         ");
                Console.WriteLine("         2.查看最高分学员         ");
                Console.WriteLine("         3.查看最低分学员         ");
                Console.WriteLine("         4.返回上级菜单         ");
                Console.WriteLine("         请输入1--4的数字         ");
                Console.WriteLine("---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------");
                String s = Console.ReadLine().Trim();
                if (s.Equals("1"))
                {
                    Console.WriteLine("         请输入您要查找的学生的学号:         ");
                    string s2 = Console.ReadLine().Trim();
                    if (s2.Length > 0)
                    {
                        Match ma = reg.Match(s2);
                        if (ma.Success)
                        {
                            Student s3 = SelectStudentById(int.Parse(s2));
                            if (s3 == null)
                            {
                                Console.WriteLine("         教员没有添加此学号哦         ");
                            }
                            else
                            {
                                Console.WriteLine(s3);
                            }
                        }
                        else
                        {
                            Console.WriteLine("         您输入的不是数字!!!请重新选择         ");
                        }
                    }
                    else
                    {
                        Console.WriteLine("         您输入的不是数字!!!请重新选择         ");
                    }
                }
                else if (s.Equals("2"))
                {
                    ArrayList al = SelectMaxOrMin(2);
                    if (al.Count == 0)
                    {
                        Console.WriteLine("         此系统教员没有添加此学生哦         ");
                    }
                    else
                    {
                        foreach (Student student in al)
                        {
                            Console.WriteLine(student);
                        }
                    }
                }
                else if (s.Equals("3"))
                {
                    ArrayList al = SelectMaxOrMin(1);
                    if (al.Count == 0)
                    {
                        Console.WriteLine("         您输入的学号不存在!教员没有添加此学生哦           ");
                    }
                    else
                    {
                        foreach (Student student in al)
                        {
                            Console.WriteLine(student);
                        }
                    }
                }
                else if (s.Equals("4"))
                {
                    ShowMain123();
                    break;
                }
                else
                {
                    Console.WriteLine("         输入错误!请输入1--4的数字 !!!         ");
                }
            }
        }
        /// <summary>
        /// 三级菜单第一1个 学员查看
        /// </summary>
        private void ShowMain311()
        {
            while (true)
            {
                Console.WriteLine("%----------------------------%");
                Console.WriteLine("         1.根据学号查看信息         ");
                Console.WriteLine("         2.查看最高分学员         ");
                Console.WriteLine("         3.查看最低分学员         ");
                Console.WriteLine("         4.返回上级菜单         ");
                Console.WriteLine("         请输入1--4的数字         ");
                Console.WriteLine("---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------");
                String s = Console.ReadLine().Trim();
                if (s.Equals("1"))
                {
                    Console.WriteLine("         请输入您要查找的学生的学号:         ");
                    string s2 = Console.ReadLine().Trim();
                    if (s2.Length > 0)
                    {
                        Match ma = reg.Match(s2);
                        if (ma.Success)
                        {
                            Student s3 = SelectStudentById(int.Parse(s2));
                            if (s3 == null)
                            {
                                Console.WriteLine("         您输入的学号不存在!教员没有添加此学生哦         ");
                            }
                            else
                            {
                                Console.WriteLine(s3);
                            }
                        }
                        else
                        {
                            Console.WriteLine("         您输入的不是数字!!!请重新选择         ");
                        }
                    }
                    else
                    {
                        Console.WriteLine("         您输入的不是数字!!!请重新选择         ");
                    }
                }
                else if (s.Equals("2"))
                {
                    ArrayList al = SelectMaxOrMin(2);
                    if (al.Count == 0)
                    {
                        Console.WriteLine("         教员没有添加此学生哦         ");
                    }
                    else
                    {
                        foreach (Student student in al)
                        {
                            Console.WriteLine(student);
                        }
                    }
                }
                else if (s.Equals("3"))
                {
                    ArrayList al = SelectMaxOrMin(1);
                    if (al.Count == 0)
                    {
                        Console.WriteLine("        教员没有添加此学生哦          ");
                    }
                    else
                    {
                        foreach (Student student in al)
                        {
                            Console.WriteLine(student);
                        }
                    }
                }
                else if (s.Equals("4"))
                {
                    ShowMain124();
                    break;
                }
                else
                {
                    Console.WriteLine("         输入错误!请输入1--4的数字 !!!         ");
                }
            }
        }
        #endregion

        #region 查询单个学员根据学号SelectStudentById(int i)
        /// <summary>
        /// 查询单个学员根据学号
        /// </summary>
        /// <param name="i">学号</param>
        public Student SelectStudentById(int i)
        {
            foreach (Student s in ls)
            {
                if (s.Id == i)
                {
                    return s;
                }
            }
            return null;
        }
        #endregion

        #region 查询单个学员最高分或最低分学员SelectMaxOrMin(int i)
        /// <summary>
        /// 查询最高分或最低分学员
        /// </summary>
        /// <param name="i">1代表最低分,2代表最高分</param>
        public ArrayList SelectMaxOrMin(int i)
        {
            ArrayList ls2 = new ArrayList();
            int y = i == 1 ? 1000 : -1;
            if (i == 1)
            {
                foreach (Student s in ls)
                {
                    if (s.Grade < y)
                    {
                        y = s.Grade;
                    }
                }
            }
            else
            {
                foreach (Student s in ls)
                {
                    if (s.Grade > y)
                    {
                        y = s.Grade;
                    }
                }
            }
            foreach (Student s in ls)
            {
                if (s.Grade == y)
                {
                    ls2.Add(s);
                }
            }
            return ls2;
        }
        #endregion

        #region 三级菜单第二个    查看所有学员信息
        /// <summary>
        /// 三级菜单第二个 教员查看
        /// </summary>
        private void ShowMain32()
        {
            while (true)
            {
                Console.WriteLine("%----------------------------%");
                Console.WriteLine("         1.根据年龄排序         ");
                Console.WriteLine("         2.根据分数排序         ");
                Console.WriteLine("         3.根据学号排序         ");
                Console.WriteLine("         4.查看总分与平均分         ");
                Console.WriteLine("         5.返回上级菜单         ");
                Console.WriteLine("         请输入1--5的数字         ");
                Console.WriteLine("---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------");
                string s = Console.ReadLine().Trim();

                if (s.Equals("1"))
                {
                    ArrayList al = SelectStudentAgeGradeId("age");
                    if (al.Count == 0)
                    {
                        Console.WriteLine("         教员没有添加此学生哦         ");
                    }
                    else
                    {
                        foreach (Student student in al)
                        {
                            Console.WriteLine(student);
                        }
                    }
                }
                else if (s.Equals("2"))
                {
                    ArrayList al = SelectStudentAgeGradeId("grade");
                    if (al.Count == 0)
                    {
                        Console.WriteLine("         教员没有添加此学生哦         ");
                    }
                    else
                    {
                        foreach (Student student in al)
                        {
                            Console.WriteLine(student);
                        }
                    }
                }
                else if (s.Equals("3"))
                {
                    ArrayList al = SelectStudentAgeGradeId("id");
                    if (al.Count == 0)
                    {
                        Console.WriteLine("         教员没有添加此学生哦         ");
                    }
                    else
                    {
                        foreach (Student student in al)
                        {
                            Console.WriteLine(student);
                        }
                    }
                }
                else if (s.Equals("4"))
                {
                    ArrayList al = SelectStudentAgeGradeId("id");
                    if (al.Count == 0)
                    {
                        Console.WriteLine("         教员没有添加此学生哦         ");
                    }
                    else
                    {
                        int[] i = SelectSumAndAvg();
                        Console.WriteLine("总分:" + i[0] + ",平均分:" + i[1]);
                    }
                }
                else if (s.Equals("5"))
                {
                    ShowMain123();
                    break;
                }
                else
                {
                    Console.WriteLine("         输入错误!请输入1--5的数字         ");
                }
            }
        }
        /// <summary>
        /// 三级菜单第二1个 教员查看
        /// </summary>
        private void ShowMain322()
        {
            while (true)
            {
                Console.WriteLine("%----------------------------%");
                Console.WriteLine("         1.根据年龄排序         ");
                Console.WriteLine("         2.根据分数排序         ");
                Console.WriteLine("         3.根据学号排序         ");
                Console.WriteLine("         4.查看总分与平均分         ");
                Console.WriteLine("         5.返回上级菜单         ");
                Console.WriteLine("         请输入1--5的数字         ");
                Console.WriteLine("---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------");
                string s = Console.ReadLine().Trim();

                if (s.Equals("1"))
                {
                    ArrayList al = SelectStudentAgeGradeId("age");
                    if (al.Count == 0)
                    {
                        Console.WriteLine("         教员没有添加此学生哦          ");
                    }
                    else
                    {
                        foreach (Student student in al)
                        {
                            Console.WriteLine(student);
                        }
                    }
                }
                else if (s.Equals("2"))
                {
                    ArrayList al = SelectStudentAgeGradeId("grade");
                    if (al.Count == 0)
                    {
                        Console.WriteLine("         教员没有添加此学生哦          ");
                    }
                    else
                    {
                        foreach (Student student in al)
                        {
                            Console.WriteLine(student);
                        }
                    }
                }
                else if (s.Equals("3"))
                {
                    ArrayList al = SelectStudentAgeGradeId("id");
                    if (al.Count == 0)
                    {
                        Console.WriteLine("         教员没有添加此学生哦          ");
                    }
                    else
                    {
                        foreach (Student student in al)
                        {
                            Console.WriteLine(student);
                        }
                    }
                }
                else if (s.Equals("4"))
                {
                    ArrayList al = SelectStudentAgeGradeId("id");
                    if (al.Count == 0)
                    {
                        Console.WriteLine("         教员没有添加此学生哦          ");
                    }
                    else
                    {
                        int[] i = SelectSumAndAvg();
                        Console.WriteLine("总分:" + i[0] + ",平均分:" + i[1]);
                    }
                }
                else if (s.Equals("5"))
                {
                    ShowMain124();
                    break;
                }
                else
                {
                    Console.WriteLine("        输入错误!请输入1--5的数字         ");
                }
            }
        }
        #endregion

        #region 查询所有学员并根据年龄或分数或学号排序 SelectStudentAgeGradeId(string str)
        /// <summary>
        /// 查询所有学员并根据年龄或分数或学号排序
        /// </summary>
        public ArrayList SelectStudentAgeGradeId(string str)
        {
            //年龄排序
            if (str.Equals("age"))
            {
                for (int i = 0; i < ls.Count - 1; i++)
                {
                    for (int y = i + 1; y < ls.Count; y++)
                    {
                        Student s = (Student)ls[i];
                        Student s2 = (Student)ls[y];
                        if (s.Age < s2.Age)
                        {
                            Student s3 = s;
                            ls[i] = s2;
                            ls[y] = s3;
                        }
                    }
                }

            }
            //分数排序
            else if (str.Equals("grade"))
            {
                for (int i = 0; i < ls.Count - 1; i++)
                {
                    for (int y = i + 1; y < ls.Count; y++)
                    {
                        Student s = (Student)ls[i];
                        Student s2 = (Student)ls[y];
                        if (s.Grade < s2.Grade)
                        {
                            Student s3 = s;
                            ls[i] = s2;
                            ls[y] = s3;
                        }
                    }
                }
            }
            else
            {
                //学号排序
                for (int i = 0; i < ls.Count - 1; i++)
                {
                    for (int y = i + 1; y < ls.Count; y++)
                    {
                        Student s = (Student)ls[i];
                        Student s2 = (Student)ls[y];
                        if (s.Id > s2.Id)
                        {
                            Student s3 = s;
                            ls[i] = s2;
                            ls[y] = s3;
                        }
                    }
                }
            }

            return ls;
        }
        #endregion

        #region 查询总分和平均分SelectSumAndAvg()
        /// <summary>
        /// 查询总分和平均分,先返回总分再返回平均分
        /// </summary>
        public int[] SelectSumAndAvg()
        {
            int[] x = new int[2];
            int sum = 0;
            foreach (Student s in ls)
            {
                sum += s.Grade;
            }
            x[0] = sum;
            x[1] = sum / ls.Count;
            return x;

        }
        #endregion

    }
}

⑤测试类Program

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BaseXM
{
    class Program
    {
        static void Main(string[] args)
        {
            StudentManage.AddStudents();
            StudentManage sm = new StudentManage();
            sm.Login();
            Console.ReadKey();
        }
    }
}
评论 10 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

拾忆年

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值