c++学生管理系统源代码_学校运营管理系统

c++学生管理系统源代码_学校运营管理系统C#学员管理系统C#学员管理系统是在控制台输出的项目,和OOP学员管理系统相似。①创建一个学员的实体类Student,实现其构造方法和封装:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;///<summary>///实体类///</sum…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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();
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/191257.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 关于Heap free block xxxxxxxx modified at xxxxxxxxx after is was freed

    关于Heap free block xxxxxxxx modified at xxxxxxxxx after is was freed程序崩溃了,日志中的提示是:Heapfreeblockxxxxxxxxmodifiedatxxxxxxxxxafteriswasfreed和百度快乐地玩耍了很久,得知造成这种错误的原因可能是野指针,即指针指向的内存位置不是你想要的东西,它很可能已经被删除或者移动了。事情是这样发生的:我在逻辑中使用了三个List(AllSpriteList,FriendList,Enemy

  • 软件激活成功教程官网_激活成功教程软件资源

    软件激活成功教程官网_激活成功教程软件资源[转]国内软件激活成功教程下载网站列表!Postedon2005-04-2511:17Laser.NET阅读(872)评论(1)编辑收藏国内最有信誉的激活成功教程下载网站,总能让你有意外收获。18DD资源中心:http://www.18dd.com7年:http://www.7year.com/热战软件园:http://soft.rezhan.comwqsky:http…

    2022年10月11日
  • 怎么关闭磁盘共享(电脑如何关闭默认共享)

         Windows2000/XP/2003版本的操作系统提供了默认共享功能,这些默认的共享都有“$”标志,意为隐含的,包括所有的逻辑盘(C$,D$,E$……)和系统目录Winnt或Windows(admin$)。   带来的问题:   微软的初衷是便于网管进行远程管理,这虽然方便了局域网用户,但对我们个人用户来说这样的设置是不安全的。如果电脑联网,网络上

  • xtrabackup部署以及使用

    xtrabackup部署以及使用

    2021年11月27日
  • JAVA学习笔记:目录

    JAVA学习笔记:目录目录java学习笔记1:了解java、JDK、JRE、JVMjava学习笔记2:JDK下载和安装以及测试控制台测试是否配置成功java学习笔记3:用记事本写第一个java程序,第一个java程序常见错误总结,第一个java程序详细解析java学习笔记4:常见的DOS命令和java开发工具java学习笔记5:eclipse的下载及使用,以及java程序的运行java学习笔记6:注释、标识…

  • Matlab中读取txt文件的几种方法[通俗易懂]

    Matlab中读取txt文件的几种方法[通俗易懂]matlab读取文本文件的几种函数:1、load——适合读取纯数据文本;2、importdata——只读取数据,自动省略数据格式前后的字符,超大文件不适合;3、textread、textscan——适合读取行列规整的文本,会存到元胞中,可通过headerlines省略读取字段名(字符行);4、csvread、dlmread——适合读取csv、xsl等文件格式文本;5、fprintf、fscanf—…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号