C#实现学生成绩管理系统

本文实例为大家分享了C#实现学生成绩管理系统的具体代码,供大家参考,具体内容如下

使用链表写学生成绩管理系统

链表可以灵活的展示增删改查

下面是结果演示

这是登录及部分添加

继续添加

继续添加及输出成绩

学生成绩查询

学生信息修改再输出

删除再输出

0直接退出了

/*         Author:马志勇         date:2020-10-14 */ using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 {     class Program     {         static void Main(string[] args)         {             //2. 在用户登录界面提示用户输入用户名和密码,并根据用户名和密码决定    能否登录系统。             //   3. 合法用户登陆成功后,在屏幕上显示如下功能菜单:             //          1.学生成绩输入 2.学生成绩输出 3.学生成绩查询 4.学生成绩修改 0.退出系统             //            提示用户输入选择号,用户输入正确的选择好后执行相应功能。执行完对应功   能后返回功能菜单。             Console.WriteLine("欢迎来到成绩管理系统!");             while (true) {                 Console.WriteLine("***请输入账号:");                 String userName = Console.ReadLine();                 Console.WriteLine("***请输入密码:");                 String userPassword = Console.ReadLine();                 if (userName.Equals("123456") && userPassword.Equals("456789"))                 {                     Console.WriteLine("***账号密码正确请进入");                     break;                 }                 else {                     Console.WriteLine("账号密码不一致,是否重新进入![1:重新输入---2:退出]");                     int n = int.Parse(Console.ReadLine());                     while (true) {                         if (n == 1 || n == 2)                         {                             break;                         }                         else {                             Console.WriteLine("***序号有误请重新输入!");                             n = int.Parse(Console.ReadLine());                         }                     }                     if (n==2) {                         Process.GetCurrentProcess().Kill();                     }                 }             }             showView();             showChoice();             StudentLinkedList link = new StudentLinkedList();             while (true) {                 Console.WriteLine("***请选这些序号 ");                 int n = int.Parse(Console.ReadLine());                 switch (n) {                     //0.退出系统                     case 0: {                             Process.GetCurrentProcess().Kill();                             break;                         }                     //1.学生成绩输入                     case 1: {                             Console.WriteLine("***请输入ID账号:");                             int id = int.Parse(Console.ReadLine());                             Console.WriteLine("***请输入姓名:");                             String name = Console.ReadLine();                             Console.WriteLine("***请输入成绩:");                             int score = int.Parse(Console.ReadLine());                             link.add(getStudentNode(id, name, score));                             break;                         }                     //2.学生成绩输出                     case 2: {                             link.show();                             break;                         }                     // 3.学生成绩查询                     case 3:                         {                             Console.WriteLine("***请输入你要查找的id账号");                             int index = int.Parse(Console.ReadLine());                             Student student=link.search(index);                             Console.WriteLine(student.toString());                             break;                         }                     //4.学生成绩修改                     case 4:                         {                             Console.WriteLine("***[注]:只能修改成绩!");                             Console.WriteLine("***请输入你要修改的id账号");                             int index = int.Parse(Console.ReadLine());                             Console.WriteLine("***请输入你要修改的id分数");                             int score = int.Parse(Console.ReadLine());                             link.upThis(index, score);                             break;                         }                     case 5:                         {                             Console.WriteLine("***请输入你要删除的id账号");                             int index = int.Parse(Console.ReadLine());                             link.delete(index);                             break;                         }                     default: {                             break;                         }                 }                 showChoice();             }             Console.ReadKey();         }         //获取节点对象         public static StudentNode getStudentNode(int id,String name,int score ) {             return new StudentNode(new Student(id,name,score));         }         //启动界面         // 1.学生成绩输入 2.学生成绩输出 3.学生成绩查询 4.学生成绩修改 0.退出系统         public static void showView() {             Console.WriteLine("|----------------------------程序启动---------------------------|");             Console.WriteLine("|\t\t\t学生成绩管理系统\t\t\t|");             Console.WriteLine("|---------------------------------------------------------------|");             Console.WriteLine("|\t\t\t开发人姓名:马志勇\t\t\t|");             Console.WriteLine("|\t\t\t开发时间:2020-20-14\t\t\t|");             Console.WriteLine("|\t\t\t按任意键进入系统\t\t\t|");             Console.WriteLine("|---------------------------------------------------------------|");         }         public static void showChoice() {             Console.WriteLine("|---------------------------------------------------------------|");             Console.WriteLine("|\t\t\t0.退出系统\t\t\t\t|");             Console.WriteLine("|\t\t\t1.学生成绩输入\t\t\t\t|");             Console.WriteLine("|\t\t\t2.学生成绩输出\t\t\t\t|");             Console.WriteLine("|\t\t\t3.学生成绩查询\t\t\t\t|");             Console.WriteLine("|\t\t\t4.学生成绩修改\t\t\t\t|");             Console.WriteLine("|\t\t\t5.删除这个学生\t\t\t\t|");             Console.WriteLine("|---------------------------------------------------------------|");         }     }     class StudentLinkedList     {         //定义一个头结点啥都不放         StudentNode head = null;         public StudentLinkedList() {             head=new StudentNode(null);         }         //添加 按照学号顺序顺序进行添加         //如果学号相同则不能添加         public void add(StudentNode node)         {             if (head.next == null)             {                 head.next = node;                 return;             }             //否则定义一个变量临时变量进行处理;             StudentNode temp = head;             int id = node.s.getId();             bool flag = false;             while (true)             {                 if (temp.next == null)                 {                     flag = false;                     break;                 }                 if (temp.next.s.getId() > id)                 {                     flag = false;                     break;                 }                 else if (temp.next.s.getId() == id)                 {                     //这个情况是有重复的就不能添加进去                     flag = true;                     break;                 }                 temp = temp.next;             }             if (flag)             {                 Console.WriteLine("这个序号已经存在");             }             else {                 node.next=temp.next;                 temp.next = node;             }         }         //删除         //只能通过id进行删除         public bool delete(int id) {             if (head.next==null) {                 return false;             }             StudentNode temp = head;             while (true) {                 if (temp.next==null) {                     return false;                 }                 if (temp.next.s.getId()==id) {                     break;                 }                 temp = temp.next;             }             if (temp.next.next != null)             {                 temp.next = temp.next.next;             }             else {                 temp.next = null;             }             return true;         }         //修改         //只能修改成绩         public void upThis(int id,int score) {             if (head.next == null)             {                 Console.WriteLine("没有数据,无法修改!");                 return;             }             StudentNode temp = head.next;             while (true) {                 if (temp==null) {                     Console.WriteLine("没有这个ID数据!");                     return;                 }                 if (temp.s.getId()== id) {                     temp.s.setScore(score);                     return;                 }                 temp = temp.next;             }         }         //查询         public Student search(int id)         {             if (head.next == null)             {                 Console.WriteLine("没有数据,无法修改!");                 return null;             }             StudentNode temp = head.next;             while (true)             {                 if (temp == null)                 {                     Console.WriteLine("没有这个ID数据!");                     return null;                 }                 if (temp.s.getId() == id)                 {                     return new Student(temp.s.getId(), temp.s.getName(), temp.s.getScore());                 }                 temp = temp.next;             }         }         //遍历         public void show() {             Console.WriteLine("ID\t\t姓名\t\t分数");             StudentNode temp = head.next;             while (true) {                 if (temp==null) {                     break;                 }                 Console.WriteLine(temp.s.getId()+"\t\t"+temp.s.getName()+"\t\t"+temp.s.getScore());                 temp = temp.next;             }         }     }     //创建一个链表进行处理这些数据     class StudentNode     {         public Student s;         public StudentNode next;         public StudentNode(Student s)         {             this.s = s;         }     }     //定义学生类     class Student     {         private int id;         private String name;         private int score;         public Student(int id, String name, int score)         {             this.id = id;             this.name = name;             this.score = score;         }         public void setId(int id)         {             this.id = id;         }         public int getId()         {             return this.id;         }         public String getName()         {             return this.name;         }         public void setName(String name)         {             this.name = name;         }         public int getScore()         {             return this.score;         }         public void setScore(int score)         {             this.score = score;         }         public String toString() {             return "ID:"+getId() + "\t姓名:" + getName() + "\t成绩:" + getScore();         }     }     //这是用户类     class User     {         private String userName;         private String userParsword;         public User(String userName, String userParsword)         {             this.userName = userName;             this.userParsword = userParsword;         }         public String getUserName()         {             return this.userName;         }         public void setName(String userName)         {             this.userName = userName;         }         public String getUserParsword()         {             return this.userParsword;         }         public void setUserParsword(String userParsword)         {             this.userParsword = userParsword;         }     } }

推荐阅读