精华内容
下载资源
问答
  • C#学生考试成绩管理系统窗体程序(含数据库),Word文档里面有数据库表。
  • 用access创建学生成绩管理系统;准备表查询报表等数据; 使用设计器创建表 使用向导创建表 通过输入数据创建表 结束放映 返回主页 ;使用向导创建表 ;通过输入数据创建表; 准备表查询报表 制作数据查询窗体 制作成绩...
  • 用 Access建立学生成绩管理系统 忘学图统22口准备表查询报表 届开Q就X+ 赚象圈使用说计建表 口制作数据查询窗体 日表使导建表 型通输)入数创表 口制作成绩维护窗体窗体回文科总分 口建应用系统的切换面板 页 口...
  • 最新.课件 最新....课件 准备表查询报表 制作数据查询窗体 制作成绩维护窗体 建应用系统的切换面板 结束放映 用Access建立学生成绩管理系统 准备表查询报表等数据 使用设计器创建表 使用向导创建表 通过输入
  • ①收集学生基本信息。学生信息包括学号,姓名,性别,出生年月,所属班级和籍贯(用组合框)。要求:学号,姓名,所属班级不能为空;若出生年月有输入,则必须为日期型。点击提交按钮后,弹出消息框显示所填信息。 ②...
  • C# Windows窗体应用程序设计综合实例(二)--------学生成绩管理系统 今天给大家更新一个综合实例,学生成绩管理系统。从需求分析、窗体应用程序的编写、运行结果来阐述整个过程 需求分析 首先先要进行需求分析,...

    C# Windows窗体应用程序设计综合实例(二)--------学生成绩管理系统

    今天给大家更新一个综合实例,学生成绩管理系统。从需求分析、窗体应用程序的编写、运行结果来阐述整个过程
    (文末和评论区有源代码文件,需要自取,建议先看内容再看源代码,代码描述部分可忽略,比较长,影响观看时间。)

    需求分析

    首先先要进行需求分析,需求分析就是想清楚你写的窗体应用具体要实现哪些功能。最好把它用表格的形式列出来。本次实例的需求如下表格。

    窗体功能描述
    主窗体对整个系统的功能进行汇总和导航
    添加对输入系统内的学生成绩进行添加输入数据
    保存至TXT将系统内的成绩导出系统
    从TXT导入从系统外导入成绩信息
    查找根据特定信息查找学生的成绩信息
    排序按照特定要求进行降序或者升序排序
    删除对特定学生的成绩信息进行删除
    修改找到学生信息再修改相应的值

    接下来我们了解了需求后,就开始在大脑里面构思具体的一个情景。

    整体构思

    假定这个系统完成了,你在使用的时候首先出现的应该是导航的页面,也就是主窗体,上面有各个功能的按钮。然后接着是每个功能对应的窗体的情景。最后退出结束。这一步的目的是为了在写的时候有一个大致的布局和编写习惯的预定判定。就像是一个工程师在心里画好了图纸,到时候就不用考虑布局和习惯的问题,只需要关注代码之间的逻辑和语法问题
    在这里插入图片描述
    下面就是整个最煎熬的步骤了,也就是按照前面说讲的窗体应用程序设计的步骤来完成。

    窗体应用程序设计的编写

    选取学生信息的存储结构

    本次由于是做成绩管理系统,就要想好具体在程序里面的存储结构。这里我们用典型的单链表作为存储结构来存储学生的各项信息。
    那么可能有一部分不太了解数据结构的小伙伴就比较疑惑了,接下来简单介绍一下单链表。
    单链表的结构如下:
    在这里插入图片描述
    每个节点由数据域和指针域构成,在开头的的节点有一个头指针。该存储结构的优点是在进行某些操作的时候便于修改。具体的内容自行查找知识点,这里不做过多解释。(文末和评论区有源代码,需要自取)

    设置布局

    接下来我们就开始设置窗体的布局,如下图所示:
    1.主界面
    在这里插入图片描述
    2.修改在这里插入图片描述
    3.添加在这里插入图片描述
    4.删除在这里插入图片描述
    5.排序
    在这里插入图片描述
    6.查找
    在这里插入图片描述
    在这里说明一下,在写的过程中,最好是完成一个界面就运行检查一次,不要等到写完了再去查错,工作量比较大容易混乱。

    控件布局及属性设置

    在了解了布局后,我们接下来根据具体的要求进行属性的设置,属性设置如下:
    注意:控件较多的情况下,name属性会自动命名为控件名+加入的顺序,例如加入两个label,第一个自动命名为label1,第二个就为label2。因此后面添加控件按照表格的顺序来一个一个搞好再添加,不然容易混乱与代码对不上。
    在这里插入图片描述
    在这里再强调一下,最好是完成一个界面就运行检查一次,不要等到写完了再去查错,工作量比较大容易混乱!
    最好是完成一个界面就运行检查一次,不要等到写完了再去查错,工作量比较大容易混乱!
    最好是完成一个界面就运行检查一次,不要等到写完了再去查错,工作量比较大容易混乱! 重要的事情说三遍。
    2.排序在这里插入图片描述
    3.查找
    在这里插入图片描述
    4.删除
    在这里插入图片描述
    5.修改
    在这里插入图片描述
    在这里插入图片描述
    6.添加
    在这里插入图片描述
    在这里插入图片描述
    严格注意区分name属性里面的大小写,具体事项见备注。

    添加代码

    添加代码的方法就是双击你的控件,对应的添加。具体的可以看主页之前写的匹配游戏设计和数学测验器。

    ***************************************
    前方高能,非战斗人员请撤离
    请爱护好自己的眼睛
    ***************************************
    1.Program.cs

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Threading.Tasks;
    using System.Windows.Forms;
        namespace C_sharp学生成绩管理系统
        {
            public class Node
            {
                //数据域,当前结点数据
    
                //信息
                public int id;
                public string name;
                public string classnum;
            internal object tiyu;
            internal object yingyu;
            internal object shuxue;
            //分数
            public int c_sharp { set; get; }
                public int ds { set; get; }
                public int maogai { set; get; }
                public int ps { set; get; }   
                public int sports { set; get; }
    
                public double total { set; get; }
                public double average { set; get; }
                //指针   
                public Node Next { set; get; }    //位置域,下一个结点地址
                //构造函数
                public Node(int id, string name, string classnum, int c_sharp, int ds, int maogai, int ps,int sports)
                {
                    this.id = id;
                    this.name = name;
                    this.classnum = classnum;
                    this.c_sharp = c_sharp;
                    this.ds = ds;
                    this.maogai = maogai;
                    this.ps = ps;
                    this.sports = sports;
    
                    this.total = this.c_sharp + this.ds + this.maogai + this.ps  + this.sports;
                    this.average = this.total / 6;
    
                    this.Next = null;
                }
            }
            public class LinkList
            {
                public Node Head { set; get; } //单链表头
                public int total { set; get; } //总人数
    
                //构造
                public LinkList()
                {
                    Head = null;
                    total = 0;
                }
    
                //增加新元素到单链表末尾
                public static void Append(int id, string name, string classnum, int c_sharp, int ds, int maogai, int ps,  int sports)
                {
                    Node foot = new Node(id, name, classnum, c_sharp, ds,maogai, ps,  sports);
                    Node A = new Node(id, name, classnum, c_sharp, ds, maogai, ps, sports);
    
                    if (PublicValue.Head == null)
                    {
                        PublicValue.Head = foot;
                        return;
                    }
                    A = PublicValue.Head;
                    while (A.Next != null)
                    {
                        A = A.Next;
                    }
                    A.Next = foot;
                }
            }
    
            //全局变量
            public class PublicValue
            {
                public static Node Head; //单链表头
                public static Node Tail; //单链表尾
                public static int total; //学生总数
            }
            /// 应用程序的主入口点
            static class Program
            {
                /// <summary>
                /// 应用程序的主入口点
                /// </summary>
                [STAThread]
                static void Main()
                {
                    LinkList link = new LinkList();
    
                    Application.EnableVisualStyles();
                    Application.SetCompatibleTextRenderingDefault(false);
                    Application.Run(new MainForm());
                }
            }
        }
    
    

    2.主界面:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.IO;//Stream流类
    
    namespace C_sharp学生成绩管理系统
    {
        public partial class MainForm : Form
        {
    
            public MainForm()
            {
                InitializeComponent();
            }
    
           
    
            private void SaveTXT_Click_1(object sender, EventArgs e)
            {
                //清空txt
                System.IO.File.WriteAllText(@"data.txt", string.Empty);
    
                //写入
                StreamWriter sw = new StreamWriter("data.txt", true, Encoding.Default);
                Node B = new Node(0, "0", "0", 0, 0, 0, 0, 0);
                B = PublicValue.Head;
    
                sw.Write(PublicValue.total + "\r\n");
                while (B != null)
                {
                    sw.Write(B.id + "\r\n" + B.classnum + "\r\n" + B.name + "\r\n" + B.c_sharp + "\r\n" + B.ds + "\r\n" + B.maogai + "\r\n" + B.ps + "\r\n" + +B.sports + "\r\n");
                    B = B.Next;
                }
    
                //清空缓冲区
                sw.Flush();
    
                //关闭流
                sw.Close();
    
                MessageBox.Show("保存成功");
            }
    
            private void AppendTxt_Click(object sender, EventArgs e)
            {
                int i;
    
                FileStream fs = new FileStream("data.txt", FileMode.Open);
                StreamReader sr = new StreamReader(fs, Encoding.Default);
    
                //临时接收
                int id;
                string name;
                string classnum;
                int c_sharp;
                int ds;
                int maogai;
                int ps;
                int sports;
    
                PublicValue.total = int.Parse(sr.ReadLine());
    
                for (i = 0; i < PublicValue.total; i++)
                {
                    id = int.Parse(sr.ReadLine());
                    name = sr.ReadLine();
                    classnum = sr.ReadLine();
    
                    c_sharp = int.Parse(sr.ReadLine());
                    ds = int.Parse(sr.ReadLine());
                    maogai = int.Parse(sr.ReadLine());
                    ps = int.Parse(sr.ReadLine());
                    sports = int.Parse(sr.ReadLine());
    
                    LinkList.Append(id, classnum, name, c_sharp, ds, maogai, ps, sports);
    
                }
                sr.Close();
                MessageBox.Show("导入成功");
                List_Click_1(null, null);
            }
    
            private void List_Click_1(object sender, EventArgs e)
            {
                Node B = new Node(0, "0", "0", 0, 0, 0, 0, 0);//毫无意义的赋值
                B = PublicValue.Head;
    
                Change.Text = "";//先清空
                Change.Text += "  学号 \t\t 班级 \t\t姓名\t语文\t体育\t数学\t英语\t物理\t总分\t平均分\r\n";
                while (B != null)
                {
                    Change.Text += B.id + " \t" + B.classnum + "\t" + B.name + "\t" + B.c_sharp + "\t" + B.ds + "\t" + "\t" + B.maogai + "\t" + B.ps + "\t" +  + B.sports + "\t" + B.total + "\t" + B.average.ToString("f2") + "\r\n";
                    B = B.Next;
                }
            }
    
            private void ch_Click(object sender, EventArgs e)
            {
                ChangeStuForm f3 = new ChangeStuForm();
                f3.ShowDialog();
                List_Click_1(null, null);
            }
    
            private void Delete_Click_1(object sender, EventArgs e)
            {
                DelStuForm f4 = new DelStuForm();
                f4.ShowDialog();
                List_Click_1(null, null);
            }
    
            private void Find_Click_1(object sender, EventArgs e)
            {
    
                FindForm f6 = new FindForm();
                f6.ShowDialog();
            }
    
            private void Sort_Click_1(object sender, EventArgs e)
            {
                SortForm f5 = new SortForm();
                f5.ShowDialog();
                List_Click_1(null, null);
            }
    
            private void Exit_Click_1(object sender, EventArgs e)
            {
                System.Environment.Exit(0);
            }
    
            private void Add_Click(object sender, EventArgs e)
            {
                AddStuForm f2 = new AddStuForm();
                f2.ShowDialog();
                List_Click_1(null, null);
            }
    
            private void MainForm_Load(object sender, EventArgs e)
            {
    
            }
        }
    }
    

    3.修改

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace C_sharp学生成绩管理系统
    {
        public partial class ChangeStuForm : Form
        {
            private Button button1;
            private Button button2;
            private TextBox textBox1;
            private TextBox textBox2;
            private TextBox textBox3;
            private TextBox textBox4;
            private TextBox textBox5;
            private TextBox textBox6;
            private TextBox textBox7;
            private TextBox textBox8;
            private Label label1;
            private Label label2;
            private Label label3;
            private Label label4;
            private Label label5;
            private Label label6;
            private Label label7;
            private Label label8;
            private TextBox textBox9;
            private Label label9;
            private Button button3;
    
            public ChangeStuForm()
            {
                InitializeComponent();
            }
            
            private void InitializeComponent()
            {
                this.button1 = new System.Windows.Forms.Button();
                this.button2 = new System.Windows.Forms.Button();
                this.button3 = new System.Windows.Forms.Button();
                this.textBox1 = new System.Windows.Forms.TextBox();
                this.textBox2 = new System.Windows.Forms.TextBox();
                this.textBox3 = new System.Windows.Forms.TextBox();
                this.textBox4 = new System.Windows.Forms.TextBox();
                this.textBox5 = new System.Windows.Forms.TextBox();
                this.textBox6 = new System.Windows.Forms.TextBox();
                this.textBox7 = new System.Windows.Forms.TextBox();
                this.textBox8 = new System.Windows.Forms.TextBox();
                this.label1 = new System.Windows.Forms.Label();
                this.label2 = new System.Windows.Forms.Label();
                this.label3 = new System.Windows.Forms.Label();
                this.label4 = new System.Windows.Forms.Label();
                this.label5 = new System.Windows.Forms.Label();
                this.label6 = new System.Windows.Forms.Label();
                this.label7 = new System.Windows.Forms.Label();
                this.label8 = new System.Windows.Forms.Label();
                this.textBox9 = new System.Windows.Forms.TextBox();
                this.label9 = new System.Windows.Forms.Label();
                this.SuspendLayout();
                // 
                // button1
                // 
                this.button1.BackColor = System.Drawing.SystemColors.Info;
                this.button1.Location = new System.Drawing.Point(75, 372);
                this.button1.Name = "button1";
                this.button1.Size = new System.Drawing.Size(128, 41);
                this.button1.TabIndex = 0;
                this.button1.Text = "确定";
                this.button1.UseVisualStyleBackColor = false;
                this.button1.Click += new System.EventHandler(this.button1_Click_1);
                // 
                // button2
                // 
                this.button2.BackColor = System.Drawing.SystemColors.Info;
                this.button2.Location = new System.Drawing.Point(264, 371);
                this.button2.Name = "button2";
                this.button2.Size = new System.Drawing.Size(140, 41);
                this.button2.TabIndex = 1;
                this.button2.Text = "修改";
                this.button2.UseVisualStyleBackColor = false;
                this.button2.Click += new System.EventHandler(this.button2_Click_1);
                // 
                // button3
                // 
                this.button3.BackColor = System.Drawing.SystemColors.Info;
                this.button3.Location = new System.Drawing.Point(479, 372);
                this.button3.Name = "button3";
                this.button3.Size = new System.Drawing.Size(136, 40);
                this.button3.TabIndex = 2;
                this.button3.Text = "退出";
                this.button3.UseVisualStyleBackColor = false;
                this.button3.Click += new System.EventHandler(this.button3_Click_1);
                // 
                // textBox1
                // 
                this.textBox1.BackColor = System.Drawing.SystemColors.ButtonHighlight;
                this.textBox1.Location = new System.Drawing.Point(94, 46);
                this.textBox1.Name = "textBox1";
                this.textBox1.Size = new System.Drawing.Size(155, 25);
                this.textBox1.TabIndex = 3;
                // 
                // textBox2
                // 
                this.textBox2.BackColor = System.Drawing.SystemColors.ButtonHighlight;
                this.textBox2.Location = new System.Drawing.Point(94, 96);
                this.textBox2.Name = "textBox2";
                this.textBox2.Size = new System.Drawing.Size(155, 25);
                this.textBox2.TabIndex = 4;
                // 
                // textBox3
                // 
                this.textBox3.BackColor = System.Drawing.SystemColors.ButtonHighlight;
                this.textBox3.Location = new System.Drawing.Point(436, 46);
                this.textBox3.Name = "textBox3";
                this.textBox3.Size = new System.Drawing.Size(130, 25);
                this.textBox3.TabIndex = 5;
                // 
                // textBox4
                // 
                this.textBox4.BackColor = System.Drawing.SystemColors.ButtonHighlight;
                this.textBox4.Location = new System.Drawing.Point(94, 209);
                this.textBox4.Name = "textBox4";
                this.textBox4.Size = new System.Drawing.Size(100, 25);
                this.textBox4.TabIndex = 6;
                // 
                // textBox5
                // 
                this.textBox5.BackColor = System.Drawing.SystemColors.ButtonHighlight;
                this.textBox5.Location = new System.Drawing.Point(304, 209);
                this.textBox5.Name = "textBox5";
                this.textBox5.Size = new System.Drawing.Size(100, 25);
                this.textBox5.TabIndex = 7;
                // 
                // textBox6
                // 
                this.textBox6.BackColor = System.Drawing.SystemColors.ButtonHighlight;
                this.textBox6.Location = new System.Drawing.Point(500, 276);
                this.textBox6.Name = "textBox6";
                this.textBox6.Size = new System.Drawing.Size(100, 25);
                this.textBox6.TabIndex = 8;
                // 
                // textBox7
                // 
                this.textBox7.BackColor = System.Drawing.SystemColors.ButtonHighlight;
                this.textBox7.Location = new System.Drawing.Point(500, 209);
                this.textBox7.Name = "textBox7";
                this.textBox7.Size = new System.Drawing.Size(100, 25);
                this.textBox7.TabIndex = 9;
                // 
                // textBox8
                // 
                this.textBox8.BackColor = System.Drawing.SystemColors.ButtonHighlight;
                this.textBox8.Location = new System.Drawing.Point(94, 276);
                this.textBox8.Name = "textBox8";
                this.textBox8.Size = new System.Drawing.Size(100, 25);
                this.textBox8.TabIndex = 10;
                // 
                // label1
                // 
                this.label1.AutoSize = true;
                this.label1.Location = new System.Drawing.Point(51, 99);
                this.label1.Name = "label1";
                this.label1.Size = new System.Drawing.Size(37, 15);
                this.label1.TabIndex = 11;
                this.label1.Text = "班级";
                // 
                // label2
                // 
                this.label2.AutoSize = true;
                this.label2.ForeColor = System.Drawing.Color.Blue;
                this.label2.Location = new System.Drawing.Point(393, 49);
                this.label2.Name = "label2";
                this.label2.Size = new System.Drawing.Size(37, 15);
                this.label2.TabIndex = 12;
                this.label2.Text = "姓名";
                // 
                // label3
                // 
                this.label3.AutoSize = true;
                this.label3.Location = new System.Drawing.Point(51, 219);
                this.label3.Name = "label3";
                this.label3.Size = new System.Drawing.Size(37, 15);
                this.label3.TabIndex = 13;
                this.label3.Text = "语文";
                this.label3.Click += new System.EventHandler(this.label3_Click);
                // 
                // label4
                // 
                this.label4.AutoSize = true;
                this.label4.Location = new System.Drawing.Point(261, 212);
                this.label4.Name = "label4";
                this.label4.Size = new System.Drawing.Size(37, 15);
                this.label4.TabIndex = 14;
                this.label4.Text = "数学";
                this.label4.Click += new System.EventHandler(this.label4_Click);
                // 
                // label5
                // 
                this.label5.AutoSize = true;
                this.label5.Location = new System.Drawing.Point(457, 278);
                this.label5.Name = "label5";
                this.label5.Size = new System.Drawing.Size(37, 15);
                this.label5.TabIndex = 15;
                this.label5.Text = "体育";
                this.label5.Click += new System.EventHandler(this.label5_Click);
                // 
                // label6
                // 
                this.label6.AutoSize = true;
                this.label6.Location = new System.Drawing.Point(457, 212);
                this.label6.Name = "label6";
                this.label6.Size = new System.Drawing.Size(37, 15);
                this.label6.TabIndex = 16;
                this.label6.Text = "英语";
                this.label6.Click += new System.EventHandler(this.label6_Click);
                // 
                // label7
                // 
                this.label7.AutoSize = true;
                this.label7.Location = new System.Drawing.Point(51, 278);
                this.label7.Name = "label7";
                this.label7.Size = new System.Drawing.Size(37, 15);
                this.label7.TabIndex = 17;
                this.label7.Text = "物理";
                this.label7.Click += new System.EventHandler(this.label7_Click);
                // 
                // label8
                // 
                this.label8.AutoSize = true;
                this.label8.Location = new System.Drawing.Point(51, 46);
                this.label8.Name = "label8";
                this.label8.Size = new System.Drawing.Size(37, 15);
                this.label8.TabIndex = 18;
                this.label8.Text = "学号";
                // 
                // textBox9
                // 
                this.textBox9.BackColor = System.Drawing.SystemColors.ButtonHighlight;
                this.textBox9.Location = new System.Drawing.Point(304, 278);
                this.textBox9.Name = "textBox9";
                this.textBox9.Size = new System.Drawing.Size(100, 25);
                this.textBox9.TabIndex = 19;
                // 
                // label9
                // 
                this.label9.AutoSize = true;
                this.label9.Location = new System.Drawing.Point(261, 279);
                this.label9.Name = "label9";
                this.label9.Size = new System.Drawing.Size(37, 15);
                this.label9.TabIndex = 20;
                this.label9.Text = "政治";
                // 
                // ChangeStuForm
                // 
                this.BackColor = System.Drawing.SystemColors.InactiveCaption;
                this.ClientSize = new System.Drawing.Size(719, 478);
                this.Controls.Add(this.label9);
                this.Controls.Add(this.textBox9);
                this.Controls.Add(this.label8);
                this.Controls.Add(this.label7);
                this.Controls.Add(this.label6);
                this.Controls.Add(this.label5);
                this.Controls.Add(this.label4);
                this.Controls.Add(this.label3);
                this.Controls.Add(this.label2);
                this.Controls.Add(this.label1);
                this.Controls.Add(this.textBox8);
                this.Controls.Add(this.textBox7);
                this.Controls.Add(this.textBox6);
                this.Controls.Add(this.textBox5);
                this.Controls.Add(this.textBox4);
                this.Controls.Add(this.textBox3);
                this.Controls.Add(this.textBox2);
                this.Controls.Add(this.textBox1);
                this.Controls.Add(this.button3);
                this.Controls.Add(this.button2);
                this.Controls.Add(this.button1);
                this.ForeColor = System.Drawing.Color.Blue;
                this.Name = "ChangeStuForm";
                this.Text = "修改";
                this.Load += new System.EventHandler(this.ChangeStuForm_Load);
                this.ResumeLayout(false);
                this.PerformLayout();
    
            }
    
            private void button1_Click_1(object sender, EventArgs e)
            {
                //遍历查找
                Node cur = new Node(0, "0", "0", 0, 0, 0, 0, 0);//毫无意义的赋值
                cur = PublicValue.Head;//从头开始查找
                int findId = int.Parse(textBox1.Text);
                while (cur != null)
                {
                    if (cur.id == findId)
                    {
                        textBox2.Text = cur.classnum;
                        textBox3.Text = cur.name;
                        textBox4.Text = Convert.ToString(cur.c_sharp);
                        textBox5.Text = Convert.ToString(cur.ds);
                        textBox6.Text = Convert.ToString(cur.maogai);
                        textBox7.Text = Convert.ToString(cur.ps);
                        textBox8.Text = Convert.ToString(cur.sports);
                        break;
                    }
                    cur = cur.Next;
                }
                if (cur == null)
                {
                    MessageBox.Show("你输入的学号不存在!");
                }
            }
    
            private void button2_Click_1(object sender, EventArgs e)
            {
                //再次遍历查找
                Node cur = new Node(0, "0", "0", 0, 0, 0, 0, 0);//毫无意义的赋值
                cur = PublicValue.Head;//从头开始查找
                int findId = int.Parse(textBox1.Text);
                while (cur != null)
                {
                    if (cur.id == findId)
                    {
                        cur.classnum = textBox2.Text;
                        cur.name = textBox3.Text;
                        cur.c_sharp = int.Parse(textBox4.Text);
                        cur.ds = int.Parse(textBox5.Text);
                        cur.maogai = int.Parse(textBox6.Text);
                        cur.ps = int.Parse(textBox7.Text);
                        cur.sports = int.Parse(textBox8.Text);
                        cur.total = cur.c_sharp + cur.ds + cur.maogai + cur.ps + cur.sports;
                        cur.average = cur.total / 5;
    
                        MessageBox.Show("修改成功");
                        break;
                    }
                    cur = cur.Next;
                }
                if (cur == null)
                {
                    MessageBox.Show("修改失败,你输入的学号不存在!请不要改变刚才输入的学号");
                }
            }
    
            private void button3_Click_1(object sender, EventArgs e)
            {
                this.Close();
            }
    
            private void label7_Click(object sender, EventArgs e)
            {
    
            }
    
            private void label4_Click(object sender, EventArgs e)
            {
    
            }
    
            private void label6_Click(object sender, EventArgs e)
            {
    
            }
    
            private void label3_Click(object sender, EventArgs e)
            {
    
            }
    
            private void label5_Click(object sender, EventArgs e)
            {
    
            }
    
            private void ChangeStuForm_Load(object sender, EventArgs e)
            {
    
            }
        }
    }
    

    *******************************
    看到这里休息一下吧
    ***************
    4.添加

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace C_sharp学生成绩管理系统
    {
        public partial class AddStuForm : Form
        {
            private Button button1;
            private Button button2;
            private Button button3;
            private TextBox textBox1;
            private TextBox textBox2;
            private TextBox textBox3;
            private TextBox textBox4;
            private TextBox textBox5;
            private TextBox textBox6;
            private TextBox textBox7;
            private TextBox textBox8;
            private Label label1;
            private Label label2;
            private Label label3;
            private Label label4;
            private Label label5;
            private Label label6;
            private Label label7;
            private TextBox textBox9;
            private Label label9;
            private Label label8;
    
            public AddStuForm()
            {
                InitializeComponent();
            }
    
            private void InitializeComponent()
            {
                this.button1 = new System.Windows.Forms.Button();
                this.button2 = new System.Windows.Forms.Button();
                this.button3 = new System.Windows.Forms.Button();
                this.textBox1 = new System.Windows.Forms.TextBox();
                this.textBox2 = new System.Windows.Forms.TextBox();
                this.textBox3 = new System.Windows.Forms.TextBox();
                this.textBox4 = new System.Windows.Forms.TextBox();
                this.textBox5 = new System.Windows.Forms.TextBox();
                this.textBox6 = new System.Windows.Forms.TextBox();
                this.textBox7 = new System.Windows.Forms.TextBox();
                this.textBox8 = new System.Windows.Forms.TextBox();
                this.label1 = new System.Windows.Forms.Label();
                this.label2 = new System.Windows.Forms.Label();
                this.label3 = new System.Windows.Forms.Label();
                this.label4 = new System.Windows.Forms.Label();
                this.label5 = new System.Windows.Forms.Label();
                this.label6 = new System.Windows.Forms.Label();
                this.label7 = new System.Windows.Forms.Label();
                this.label8 = new System.Windows.Forms.Label();
                this.textBox9 = new System.Windows.Forms.TextBox();
                this.label9 = new System.Windows.Forms.Label();
                this.SuspendLayout();
                // 
                // button1
                // 
                this.button1.BackColor = System.Drawing.SystemColors.Info;
                this.button1.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
                this.button1.Location = new System.Drawing.Point(34, 369);
                this.button1.Name = "button1";
                this.button1.Size = new System.Drawing.Size(131, 43);
                this.button1.TabIndex = 0;
                this.button1.Text = "添加";
                this.button1.UseVisualStyleBackColor = false;
                this.button1.Click += new System.EventHandler(this.button1_Click_1);
                // 
                // button2
                // 
                this.button2.BackColor = System.Drawing.SystemColors.Info;
                this.button2.Location = new System.Drawing.Point(235, 369);
                this.button2.Name = "button2";
                this.button2.Size = new System.Drawing.Size(122, 43);
                this.button2.TabIndex = 1;
                this.button2.Text = "自动添加";
                this.button2.UseVisualStyleBackColor = false;
                this.button2.Click += new System.EventHandler(this.button2_Click_1);
                // 
                // button3
                // 
                this.button3.BackColor = System.Drawing.SystemColors.Info;
                this.button3.Location = new System.Drawing.Point(445, 369);
                this.button3.Name = "button3";
                this.button3.Size = new System.Drawing.Size(136, 43);
                this.button3.TabIndex = 2;
                this.button3.Text = "退出";
                this.button3.UseVisualStyleBackColor = false;
                this.button3.Click += new System.EventHandler(this.button3_Click_1);
                // 
                // textBox1
                // 
                this.textBox1.BackColor = System.Drawing.SystemColors.ControlLightLight;
                this.textBox1.Location = new System.Drawing.Point(101, 63);
                this.textBox1.Name = "textBox1";
                this.textBox1.Size = new System.Drawing.Size(166, 25);
                this.textBox1.TabIndex = 3;
                // 
                // textBox2
                // 
                this.textBox2.BackColor = System.Drawing.SystemColors.ButtonHighlight;
                this.textBox2.Location = new System.Drawing.Point(376, 66);
                this.textBox2.Name = "textBox2";
                this.textBox2.Size = new System.Drawing.Size(144, 25);
                this.textBox2.TabIndex = 4;
                this.textBox2.TextChanged += new System.EventHandler(this.textBox2_TextChanged);
                // 
                // textBox3
                // 
                this.textBox3.BackColor = System.Drawing.SystemColors.ButtonHighlight;
                this.textBox3.Location = new System.Drawing.Point(101, 119);
                this.textBox3.Name = "textBox3";
                this.textBox3.Size = new System.Drawing.Size(166, 25);
                this.textBox3.TabIndex = 5;
                // 
                // textBox4
                // 
                this.textBox4.BackColor = System.Drawing.SystemColors.ButtonHighlight;
                this.textBox4.Location = new System.Drawing.Point(70, 217);
                this.textBox4.Name = "textBox4";
                this.textBox4.Size = new System.Drawing.Size(100, 25);
                this.textBox4.TabIndex = 6;
                // 
                // textBox5
                // 
                this.textBox5.BackColor = System.Drawing.SystemColors.ButtonHighlight;
                this.textBox5.Location = new System.Drawing.Point(282, 279);
                this.textBox5.Name = "textBox5";
                this.textBox5.Size = new System.Drawing.Size(100, 25);
                this.textBox5.TabIndex = 7;
                // 
                // textBox6
                // 
                this.textBox6.BackColor = System.Drawing.SystemColors.ButtonHighlight;
                this.textBox6.Location = new System.Drawing.Point(282, 217);
                this.textBox6.Name = "textBox6";
                this.textBox6.Size = new System.Drawing.Size(100, 25);
                this.textBox6.TabIndex = 8;
                // 
                // textBox7
                // 
                this.textBox7.BackColor = System.Drawing.SystemColors.ButtonHighlight;
                this.textBox7.Location = new System.Drawing.Point(497, 217);
                this.textBox7.Name = "textBox7";
                this.textBox7.Size = new System.Drawing.Size(100, 25);
                this.textBox7.TabIndex = 9;
                // 
                // textBox8
                // 
                this.textBox8.BackColor = System.Drawing.SystemColors.ButtonHighlight;
                this.textBox8.Location = new System.Drawing.Point(74, 279);
                this.textBox8.Name = "textBox8";
                this.textBox8.Size = new System.Drawing.Size(100, 25);
                this.textBox8.TabIndex = 10;
                // 
                // label1
                // 
                this.label1.AutoSize = true;
                this.label1.Location = new System.Drawing.Point(49, 63);
                this.label1.Name = "label1";
                this.label1.Size = new System.Drawing.Size(37, 15);
                this.label1.TabIndex = 11;
                this.label1.Text = "学号";
                // 
                // label2
                // 
                this.label2.AutoSize = true;
                this.label2.Location = new System.Drawing.Point(313, 69);
                this.label2.Name = "label2";
                this.label2.Size = new System.Drawing.Size(37, 15);
                this.label2.TabIndex = 12;
                this.label2.Text = "姓名";
                // 
                // label3
                // 
                this.label3.AutoSize = true;
                this.label3.Location = new System.Drawing.Point(49, 129);
                this.label3.Name = "label3";
                this.label3.Size = new System.Drawing.Size(37, 15);
                this.label3.TabIndex = 13;
                this.label3.Text = "班级";
                // 
                // label4
                // 
                this.label4.AutoSize = true;
                this.label4.Location = new System.Drawing.Point(31, 220);
                this.label4.Name = "label4";
                this.label4.Size = new System.Drawing.Size(37, 15);
                this.label4.TabIndex = 14;
                this.label4.Text = "语文";
                this.label4.Click += new System.EventHandler(this.label4_Click);
                // 
                // label5
                // 
                this.label5.AutoSize = true;
                this.label5.Location = new System.Drawing.Point(442, 289);
                this.label5.Name = "label5";
                this.label5.Size = new System.Drawing.Size(37, 15);
                this.label5.TabIndex = 15;
                this.label5.Text = "体育";
                this.label5.Click += new System.EventHandler(this.label5_Click);
                // 
                // label6
                // 
                this.label6.AutoSize = true;
                this.label6.Location = new System.Drawing.Point(232, 217);
                this.label6.Name = "label6";
                this.label6.Size = new System.Drawing.Size(37, 15);
                this.label6.TabIndex = 16;
                this.label6.Text = "数学";
                this.label6.Click += new System.EventHandler(this.label6_Click);
                // 
                // label7
                // 
                this.label7.AutoSize = true;
                this.label7.Location = new System.Drawing.Point(442, 220);
                this.label7.Name = "label7";
                this.label7.Size = new System.Drawing.Size(37, 15);
                this.label7.TabIndex = 17;
                this.label7.Text = "英语";
                this.label7.Click += new System.EventHandler(this.label7_Click);
                // 
                // label8
                // 
                this.label8.AutoSize = true;
                this.label8.Location = new System.Drawing.Point(31, 289);
                this.label8.Name = "label8";
                this.label8.Size = new System.Drawing.Size(37, 15);
                this.label8.TabIndex = 18;
                this.label8.Text = "物理";
                this.label8.Click += new System.EventHandler(this.label8_Click);
                // 
                // textBox9
                // 
                this.textBox9.BackColor = System.Drawing.SystemColors.ButtonHighlight;
                this.textBox9.Location = new System.Drawing.Point(497, 286);
                this.textBox9.Name = "textBox9";
                this.textBox9.Size = new System.Drawing.Size(100, 25);
                this.textBox9.TabIndex = 19;
                // 
                // label9
                // 
                this.label9.AutoSize = true;
                this.label9.Location = new System.Drawing.Point(232, 279);
                this.label9.Name = "label9";
                this.label9.Size = new System.Drawing.Size(37, 15);
                this.label9.TabIndex = 20;
                this.label9.Text = "政治";
                // 
                // AddStuForm
                // 
                this.BackColor = System.Drawing.SystemColors.InactiveCaption;
                this.ClientSize = new System.Drawing.Size(655, 484);
                this.Controls.Add(this.label9);
                this.Controls.Add(this.textBox9);
                this.Controls.Add(this.label8);
                this.Controls.Add(this.label7);
                this.Controls.Add(this.label6);
                this.Controls.Add(this.label5);
                this.Controls.Add(this.label4);
                this.Controls.Add(this.label3);
                this.Controls.Add(this.label2);
                this.Controls.Add(this.label1);
                this.Controls.Add(this.textBox8);
                this.Controls.Add(this.textBox7);
                this.Controls.Add(this.textBox6);
                this.Controls.Add(this.textBox5);
                this.Controls.Add(this.textBox4);
                this.Controls.Add(this.textBox3);
                this.Controls.Add(this.textBox2);
                this.Controls.Add(this.textBox1);
                this.Controls.Add(this.button3);
                this.Controls.Add(this.button2);
                this.Controls.Add(this.button1);
                this.ForeColor = System.Drawing.Color.Blue;
                this.Name = "AddStuForm";
                this.Text = "添加";
                this.Load += new System.EventHandler(this.AddStuForm_Load);
                this.ResumeLayout(false);
                this.PerformLayout();
    
            }
    
            private void button1_Click_1(object sender, EventArgs e)
            {
                //临时接收
                int id;
                string name;
                string classnum;
    
                //分数
                int c_sharp;
                int ds;
                int maogai;
                int ps;
                int sports;
    
                id = int.Parse(textBox1.Text);
                name = textBox2.Text;
                classnum = textBox3.Text;
                c_sharp = int.Parse(textBox4.Text);
                ds = int.Parse(textBox5.Text);
                maogai = int.Parse(textBox6.Text);
                ps = int.Parse(textBox7.Text);
                sports = int.Parse(textBox8.Text);
    
                LinkList.Append(id, name, classnum, c_sharp, ds, maogai, ps, sports);
                PublicValue.total++;
                MessageBox.Show("添加成功");
            }
    
            private void button2_Click_1(object sender, EventArgs e)
            {
                Random rd = new Random();
    
                if (Convert.ToString(textBox1.Text) == "")
                {
                    textBox1.Text = Convert.ToString(1);
                }
                else
                {
                    textBox1.Text = Convert.ToString(1 + int.Parse(textBox1.Text));//学号自动顺延
                }
    
                textBox2.Text = "张三";
                textBox3.Text = "计算机科学与技术1班";
    
                textBox4.Text = Convert.ToString(rd.Next(50, 100));
                textBox5.Text = Convert.ToString(rd.Next(50, 100));
                textBox6.Text = Convert.ToString(rd.Next(50, 100));
                textBox7.Text = Convert.ToString(rd.Next(50, 100));
                textBox8.Text = Convert.ToString(rd.Next(50, 100));
            }
    
            private void button3_Click_1(object sender, EventArgs e)
            {
                this.Close();
            }
    
            private void textBox2_TextChanged(object sender, EventArgs e)
            {
    
            }
    
            private void label4_Click(object sender, EventArgs e)
            {
    
            }
    
            private void label6_Click(object sender, EventArgs e)
            {
    
            }
    
            private void label7_Click(object sender, EventArgs e)
            {
    
            }
    
            private void label5_Click(object sender, EventArgs e)
            {
    
            }
    
            private void label8_Click(object sender, EventArgs e)
            {
    
            }
    
            private void AddStuForm_Load(object sender, EventArgs e)
            {
    
            }
        }
    }
    

    5.删除

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace C_sharp学生成绩管理系统
    {
        public partial class DelStuForm : Form
        {
            private Button button1;
            private Button button2;
            private Label label1;
            private Label label2;
            private TextBox textBox1;
            private TextBox textBox2;
            private Button button3;
    
            public DelStuForm()
            {
                InitializeComponent();
            }
    
            private void InitializeComponent()
            {
                this.button1 = new System.Windows.Forms.Button();
                this.button2 = new System.Windows.Forms.Button();
                this.button3 = new System.Windows.Forms.Button();
                this.label1 = new System.Windows.Forms.Label();
                this.label2 = new System.Windows.Forms.Label();
                this.textBox1 = new System.Windows.Forms.TextBox();
                this.textBox2 = new System.Windows.Forms.TextBox();
                this.SuspendLayout();
                // 
                // button1
                // 
                this.button1.BackColor = System.Drawing.SystemColors.Info;
                this.button1.Location = new System.Drawing.Point(393, 58);
                this.button1.Name = "button1";
                this.button1.Size = new System.Drawing.Size(103, 39);
                this.button1.TabIndex = 0;
                this.button1.Text = "查找";
                this.button1.UseVisualStyleBackColor = false;
                this.button1.Click += new System.EventHandler(this.button1_Click_1);
                // 
                // button2
                // 
                this.button2.BackColor = System.Drawing.SystemColors.Info;
                this.button2.Location = new System.Drawing.Point(410, 425);
                this.button2.Name = "button2";
                this.button2.Size = new System.Drawing.Size(121, 46);
                this.button2.TabIndex = 1;
                this.button2.Text = "删除";
                this.button2.UseVisualStyleBackColor = false;
                this.button2.Click += new System.EventHandler(this.button2_Click_1);
                // 
                // button3
                // 
                this.button3.BackColor = System.Drawing.SystemColors.Info;
                this.button3.Location = new System.Drawing.Point(594, 425);
                this.button3.Name = "button3";
                this.button3.Size = new System.Drawing.Size(93, 46);
                this.button3.TabIndex = 2;
                this.button3.Text = "退出";
                this.button3.UseVisualStyleBackColor = false;
                this.button3.Click += new System.EventHandler(this.button3_Click_1);
                // 
                // label1
                // 
                this.label1.AutoSize = true;
                this.label1.Location = new System.Drawing.Point(44, 58);
                this.label1.Name = "label1";
                this.label1.Size = new System.Drawing.Size(37, 15);
                this.label1.TabIndex = 3;
                this.label1.Text = "学号";
                // 
                // label2
                // 
                this.label2.AutoSize = true;
                this.label2.Location = new System.Drawing.Point(44, 127);
                this.label2.Name = "label2";
                this.label2.Size = new System.Drawing.Size(37, 15);
                this.label2.TabIndex = 4;
                this.label2.Text = "信息";
                // 
                // textBox1
                // 
                this.textBox1.BackColor = System.Drawing.Color.Snow;
                this.textBox1.Location = new System.Drawing.Point(96, 58);
                this.textBox1.Name = "textBox1";
                this.textBox1.Size = new System.Drawing.Size(206, 25);
                this.textBox1.TabIndex = 5;
                // 
                // textBox2
                // 
                this.textBox2.BackColor = System.Drawing.Color.SeaShell;
                this.textBox2.Location = new System.Drawing.Point(96, 124);
                this.textBox2.Multiline = true;
                this.textBox2.Name = "textBox2";
                this.textBox2.Size = new System.Drawing.Size(591, 281);
                this.textBox2.TabIndex = 6;
                // 
                // DelStuForm
                // 
                this.BackColor = System.Drawing.SystemColors.InactiveCaption;
                this.ClientSize = new System.Drawing.Size(783, 483);
                this.Controls.Add(this.textBox2);
                this.Controls.Add(this.textBox1);
                this.Controls.Add(this.label2);
                this.Controls.Add(this.label1);
                this.Controls.Add(this.button3);
                this.Controls.Add(this.button2);
                this.Controls.Add(this.button1);
                this.ForeColor = System.Drawing.Color.Blue;
                this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
                this.Name = "DelStuForm";
                this.Text = "删除";
                this.Load += new System.EventHandler(this.DelStuForm_Load);
                this.ResumeLayout(false);
                this.PerformLayout();
    
            }
    
            private void button1_Click_1(object sender, EventArgs e)
            {
                Node cur = new Node(0, "0", "0", 0, 0, 0, 0, 0);//毫无意义的赋值
                cur = PublicValue.Head;
    
                textBox2.Text = "";//先清空
                textBox2.Text += "学号 \t\t 班级 \t\t姓名\t语文\t体育\t数学\t英语\t物理\r\n";
    
                int findId = int.Parse(textBox1.Text);
                while (cur != null)
                {
                    if (cur.id == findId)
                    {
                        textBox2.Text += cur.id + "\t";
                        textBox2.Text += cur.classnum + "\t";
                        textBox2.Text += cur.name + "\t";
                        textBox2.Text += cur.c_sharp + "\t";
                        textBox2.Text += cur.ds + "\t"+"\t";
                        textBox2.Text += cur.maogai + "\t";
                        textBox2.Text += cur.ps + "\t";
                        textBox2.Text += cur.sports;
                        break;
                    }
                    cur = cur.Next;
                }
                if (cur == null)
                {
                    MessageBox.Show("你输入的学号不存在!");
                }
            }
    
            private void button2_Click_1(object sender, EventArgs e)
            {
                Node cur = new Node(0, "0", "0", 0, 0, 0, 0, 0);//大哥
                Node last = new Node(0, "0", "0", 0, 0, 0, 0, 0);//小弟
    
                cur = PublicValue.Head;
                last = cur;
    
                int findId = int.Parse(textBox1.Text);
    
                //查找
                while (cur != null)
                {
                    if (cur.id == findId)//如果找到了
                    {
                        PublicValue.total--;
    
                        if (cur == PublicValue.Head)//如果删除的是头节点
                        {
                            PublicValue.Head = PublicValue.Head.Next;
                            MessageBox.Show("删除成功");
                            return;
                        }
                        else
                        {
                            last.Next = cur.Next;//垃圾回收机制,不需要自己清理内存
                            MessageBox.Show("删除成功");
                            return;
                        }
                    }
                    last = cur;//小弟踩大哥脚印
                    cur = cur.Next;//大哥先走一步
                }
    
                if (cur == null)
                {
                    MessageBox.Show("你删除的学号不存在!");
                }
    
            }
    
            private void button3_Click_1(object sender, EventArgs e)
            {
                this.Close();
            }
    
            private void DelStuForm_Load(object sender, EventArgs e)
            {
    
            }
        }
    }
    

    6.排序

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace C_sharp学生成绩管理系统
    {
        public partial class SortForm : Form
        {
            private Button button1;
            private Button button2;
            private Button button3;
            private Button button4;
            private Button button5;
            private TextBox textBox1;
            private Label label1;
            private ComboBox comboBox1;
    
            public SortForm()
            {
                InitializeComponent();
            }
    
    
            private void InitializeComponent()
            {
                this.button1 = new System.Windows.Forms.Button();
                this.button2 = new System.Windows.Forms.Button();
                this.button3 = new System.Windows.Forms.Button();
                this.button4 = new System.Windows.Forms.Button();
                this.button5 = new System.Windows.Forms.Button();
                this.comboBox1 = new System.Windows.Forms.ComboBox();
                this.textBox1 = new System.Windows.Forms.TextBox();
                this.label1 = new System.Windows.Forms.Label();
                this.SuspendLayout();
                // 
                // button1
                // 
                this.button1.BackColor = System.Drawing.SystemColors.Info;
                this.button1.Location = new System.Drawing.Point(614, 12);
                this.button1.Name = "button1";
                this.button1.Size = new System.Drawing.Size(112, 44);
                this.button1.TabIndex = 0;
                this.button1.Text = "按课程排序";
                this.button1.UseVisualStyleBackColor = false;
                this.button1.Click += new System.EventHandler(this.button1_Click_1);
                // 
                // button2
                // 
                this.button2.BackColor = System.Drawing.SystemColors.Info;
                this.button2.Location = new System.Drawing.Point(39, 12);
                this.button2.Name = "button2";
                this.button2.Size = new System.Drawing.Size(108, 44);
                this.button2.TabIndex = 1;
                this.button2.Text = "按班级排序";
                this.button2.UseVisualStyleBackColor = false;
                this.button2.Click += new System.EventHandler(this.button2_Click_1);
                // 
                // button3
                // 
                this.button3.BackColor = System.Drawing.SystemColors.Info;
                this.button3.Location = new System.Drawing.Point(424, 12);
                this.button3.Name = "button3";
                this.button3.Size = new System.Drawing.Size(93, 44);
                this.button3.TabIndex = 2;
                this.button3.Text = "按总分排序";
                this.button3.UseVisualStyleBackColor = false;
                this.button3.Click += new System.EventHandler(this.button3_Click_1);
                // 
                // button4
                // 
                this.button4.BackColor = System.Drawing.SystemColors.Info;
                this.button4.Location = new System.Drawing.Point(662, 358);
                this.button4.Name = "button4";
                this.button4.Size = new System.Drawing.Size(119, 44);
                this.button4.TabIndex = 3;
                this.button4.Text = "退出";
                this.button4.UseVisualStyleBackColor = false;
                this.button4.Click += new System.EventHandler(this.button4_Click_1);
                // 
                // button5
                // 
                this.button5.BackColor = System.Drawing.SystemColors.Info;
                this.button5.Location = new System.Drawing.Point(221, 12);
                this.button5.Name = "button5";
                this.button5.Size = new System.Drawing.Size(95, 44);
                this.button5.TabIndex = 4;
                this.button5.Text = "按学号排序";
                this.button5.UseVisualStyleBackColor = false;
                this.button5.Click += new System.EventHandler(this.button5_Click_1);
                // 
                // comboBox1
                // 
                this.comboBox1.BackColor = System.Drawing.Color.WhiteSmoke;
                this.comboBox1.ForeColor = System.Drawing.Color.MediumPurple;
                this.comboBox1.FormattingEnabled = true;
                this.comboBox1.Items.AddRange(new object[] {
                "语文",
                "数学",
                "英语",
                "物理",
                "政治",
                "体育"});
                this.comboBox1.Location = new System.Drawing.Point(614, 62);
                this.comboBox1.Name = "comboBox1";
                this.comboBox1.Size = new System.Drawing.Size(121, 20);
                this.comboBox1.TabIndex = 5;
                // 
                // textBox1
                // 
                this.textBox1.BackColor = System.Drawing.Color.White;
                this.textBox1.Location = new System.Drawing.Point(87, 117);
                this.textBox1.Multiline = true;
                this.textBox1.Name = "textBox1";
                this.textBox1.Size = new System.Drawing.Size(519, 224);
                this.textBox1.TabIndex = 6;
                // 
                // label1
                // 
                this.label1.AutoSize = true;
                this.label1.Location = new System.Drawing.Point(36, 117);
                this.label1.Name = "label1";
                this.label1.Size = new System.Drawing.Size(29, 12);
                this.label1.TabIndex = 7;
                this.label1.Text = "信息";
                // 
                // SortForm
                // 
                this.BackColor = System.Drawing.SystemColors.InactiveCaption;
                this.ClientSize = new System.Drawing.Size(848, 533);
                this.Controls.Add(this.label1);
                this.Controls.Add(this.textBox1);
                this.Controls.Add(this.comboBox1);
                this.Controls.Add(this.button5);
                this.Controls.Add(this.button4);
                this.Controls.Add(this.button3);
                this.Controls.Add(this.button2);
                this.Controls.Add(this.button1);
                this.ForeColor = System.Drawing.Color.Blue;
                this.Name = "SortForm";
                this.Text = "排序";
                this.Load += new System.EventHandler(this.SortForm_Load);
                this.ResumeLayout(false);
                this.PerformLayout();
    
            }
    
            private void button1_Click_1(object sender, EventArgs e)
            {
                Node temp = new Node(0, "0", "0", 0, 0, 0, 0, 0);//毫无意义的赋值
                Node left = new Node(0, "0", "0", 0, 0, 0, 0, 0);
                Node right = new Node(0, "0", "0", 0, 0, 0, 0, 0);
                Node rightmin = new Node(0, "0", "0", 0, 0, 0, 0, 0);
    
                left = PublicValue.Head;
                right = PublicValue.Head;
    
                if (left == null)
                {
                    MessageBox.Show("无法排序,请先存入数据");
                }
                else
                {
                    for (; left != null; left = left.Next)//最大的数放在左边
                    {
                        right = left;
                        for (rightmin = right; right != null; right = right.Next)//从右边找出最小的数,用prightmax记录其位置
                        {
                            if (right.id < rightmin.id)
                            {
                                rightmin = right;
                            }
                        }
    
                        temp.id = rightmin.id;
                        temp.name = rightmin.name;
                        temp.classnum = rightmin.classnum;
                        temp.c_sharp = rightmin.c_sharp;
                        temp.ds = rightmin.ds;
                        temp.maogai = rightmin.maogai;
                        temp.ps = rightmin.ps;
                        temp.sports = rightmin.sports;
                        temp.total = rightmin.total;//补充
                        temp.average = rightmin.average;//补充
    
                        rightmin.id = left.id;
                        rightmin.name = left.name;
                        rightmin.classnum = left.classnum;
                        rightmin.c_sharp = left.c_sharp;
                        rightmin.ds = left.ds;
                        rightmin.maogai = left.maogai;
                        rightmin.ps = left.ps;
                        rightmin.sports = left.sports;
                        rightmin.total = left.total;//补充
                        rightmin.average = left.average;//补充
    
    
                        left.id = temp.id;
                        left.name = temp.name;
                        left.classnum = temp.classnum;
                        left.c_sharp = temp.c_sharp;
                        left.ds = temp.ds;
                        left.maogai = temp.maogai;
                        left.ps = temp.ps;
                        left.sports = temp.sports;
                        left.total = temp.total;//补充
                        left.average = temp.average;//补充
                    }
    
                    //输出
                    MessageBox.Show("排序成功");
                    Node cur = new Node(0, "0", "0", 0, 0, 0, 0, 0);//毫无意义的赋值
    
                    textBox1.Text = "";//先清空
                    textBox1.Text += "学号 \t\t 班级 \t\t姓名\t语文\t体育\t数学\t英语\t物理\t总分\t平均分\r\n";
    
                    cur = PublicValue.Head;
    
                    while (cur != null)
                    {
                        textBox1.Text += cur.id + "\t" + cur.classnum + "\t" + cur.name + "\t" + cur.c_sharp + "\t" + cur.ds + "\t" + "\t" + cur.maogai + "\t" + cur.ps + "\t" + "\t" + cur.sports + "\t" + cur.total + "\t" + cur.average.ToString("f2") + "\r\n";
                        cur = cur.Next;
                    }
                }
            }
    
            private void button2_Click_1(object sender, EventArgs e)
            {
                Node temp = new Node(0, "0", "0", 0, 0, 0, 0, 0);//毫无意义的赋值
                Node left = new Node(0, "0", "0", 0, 0, 0, 0, 0);
                Node right = new Node(0, "0", "0", 0, 0, 0, 0, 0);
                Node rightmin = new Node(0, "0", "0", 0, 0, 0, 0, 0);
    
                left = PublicValue.Head;
                right = PublicValue.Head;
    
                if (left == null)
                {
                    MessageBox.Show("无法排序,请先存入数据");
                }
                else
                {
                    for (; left != null; left = left.Next)//最大的数放在左边
                    {
                        right = left;
                        for (rightmin = right; right != null; right = right.Next)//从右边找出最小的数,用prightmax记录其位置
                        {
                            if (right.classnum.CompareTo(rightmin.classnum) < 0)
                            {
                                rightmin = right;
                            }
                        }
    
                        temp.id = rightmin.id;
                        temp.name = rightmin.name;
                        temp.classnum = rightmin.classnum;
                        temp.c_sharp = rightmin.c_sharp;
                        temp.ds = rightmin.ds;
                        temp.maogai = rightmin.maogai;
                        temp.ps = rightmin.ps;
                        temp.sports = rightmin.sports;
                        temp.total = rightmin.total;//补充
                        temp.average = rightmin.average;//补充
    
                        rightmin.id = left.id;
                        rightmin.name = left.name;
                        rightmin.classnum = left.classnum;
                        rightmin.c_sharp = left.c_sharp;
                        rightmin.ds = left.ds;
                        rightmin.maogai = left.maogai;
                        rightmin.ps = left.ps;
                        rightmin.sports = left.sports;
                        rightmin.total = left.total;//补充
                        rightmin.average = left.average;//补充
    
    
                        left.id = temp.id;
                        left.name = temp.name;
                        left.classnum = temp.classnum;
                        left.c_sharp = temp.c_sharp;
                        left.ds = temp.ds;
                        left.maogai = temp.maogai;
                        left.ps = temp.ps;
                        left.sports = temp.sports;
                        left.total = temp.total;//补充
                        left.average = temp.average;//补充
                    }
    
                    //输出
                    MessageBox.Show("排序成功");
                    Node cur = new Node(0, "0", "0", 0, 0, 0, 0, 0);//毫无意义的赋值
    
                    textBox1.Text = "";//先清空
                    textBox1.Text += "学号 \t\t 班级 \t\t姓名\t语文\t体育\t数学\t英语\t物理\t总分\t平均分\r\n";
    
                    cur = PublicValue.Head;
    
                    while (cur != null)
                    {
                        textBox1.Text += cur.id + "\t" + cur.classnum + "\t" + cur.name + "\t" + cur.c_sharp + "\t" + cur.ds + "\t" + "\t" + cur.maogai + "\t" + cur.ps + "\t" + "\t" + cur.sports + "\t" + cur.total + "\t" + cur.average.ToString("f2") + "\r\n";
                        cur = cur.Next;
                    }
                }
            }
    
            private void button3_Click_1(object sender, EventArgs e)
            {
                Node temp = new Node(0, "0", "0", 0, 0, 0, 0, 0);//毫无意义的赋值
                Node left = new Node(0, "0", "0", 0, 0, 0, 0, 0);
                Node right = new Node(0, "0", "0", 0, 0, 0, 0, 0);
                Node rightmin = new Node(0, "0", "0", 0, 0, 0, 0, 0);
    
                left = PublicValue.Head;
                right = PublicValue.Head;
    
                if (left == null)
                {
                    MessageBox.Show("无法排序,请先存入数据");
                }
                else
                {
                    for (; left != null; left = left.Next)//最大的数放在左边
                    {
                        right = left;
                        for (rightmin = right; right != null; right = right.Next)//从右边找出最小的数,用prightmax记录其位置
                        {
                            if (right.total > rightmin.total)//从大到小 其他排序方式只改这一行即可
                            {
                                rightmin = right;
                            }
                        }
    
                        temp.id = rightmin.id;
                        temp.name = rightmin.name;
                        temp.classnum = rightmin.classnum;
                        temp.c_sharp = rightmin.c_sharp;
                        temp.ds = rightmin.ds;
                        temp.maogai = rightmin.maogai;
                        temp.ps = rightmin.ps;
                        temp.sports = rightmin.sports;
                        temp.total = rightmin.total;//补充
                        temp.average = rightmin.average;//补充
    
                        rightmin.id = left.id;
                        rightmin.name = left.name;
                        rightmin.classnum = left.classnum;
                        rightmin.c_sharp = left.c_sharp;
                        rightmin.ds = left.ds;
                        rightmin.maogai = left.maogai;
                        rightmin.ps = left.ps;
                        rightmin.sports = left.sports;
                        rightmin.total = left.total;//补充
                        rightmin.average = left.average;//补充
    
    
                        left.id = temp.id;
                        left.name = temp.name;
                        left.classnum = temp.classnum;
                        left.c_sharp = temp.c_sharp;
                        left.ds = temp.ds;
                        left.maogai = temp.maogai;
                        left.ps = temp.ps;
                        left.sports = temp.sports;
                        left.total = temp.total;//补充
                        left.average = temp.average;//补充
                    }
    
                    //输出
                    MessageBox.Show("排序成功");
                    Node cur = new Node(0, "0", "0", 0, 0, 0, 0, 0);//毫无意义的赋值
    
                    textBox1.Text = "";//先清空
                    textBox1.Text += "学号 \t\t 班级 \t\t姓名\t语文\t体育\t数学\t英语\t物理\t总分\t平均分\r\n";
    
                    cur = PublicValue.Head;
    
                    while (cur != null)
                    {
                        textBox1.Text += cur.id + "\t" + cur.classnum + "\t" + cur.name + "\t" + cur.c_sharp + "\t" + cur.ds + "\t" + "\t" + cur.maogai + "\t" + cur.ps + "\t" + "\t" + cur.sports + "\t" + cur.total + "\t" + cur.average.ToString("f2") + "\r\n";
                        cur = cur.Next;
                    }
                }
            }
    
            private void button4_Click_1(object sender, EventArgs e)
            {
                this.Close();
            }
    
            private void button5_Click_1(object sender, EventArgs e)
            {
    
                int choose = -1;//
    
                if (comboBox1.Text == "语文") choose = 0;
                else if (comboBox1.Text == "体育") choose = 1;
                else if (comboBox1.Text == "数学") choose = 2;
                else if (comboBox1.Text == "英语") choose = 3;
                else if (comboBox1.Text == "物理") choose = 4;
    
                //排序
                Node temp = new Node(0, "0", "0", 0, 0, 0, 0, 0);//毫无意义的赋值
                Node left = new Node(0, "0", "0", 0, 0, 0, 0, 0);
                Node right = new Node(0, "0", "0", 0, 0, 0, 0, 0);
                Node rightmin = new Node(0, "0", "0", 0, 0, 0, 0, 0);
    
                left = PublicValue.Head;
                right = PublicValue.Head;
    
                if (left == null)
                {
                    MessageBox.Show("无法排序,请先存入数据");
                }
                else
                {
                    for (; left != null; left = left.Next)//最大的数放在左边
                    {
                        right = left;
                        for (rightmin = right; right != null; right = right.Next)//从右边找出最小的数,用prightmax记录其位置
                        {
                            switch (choose)
                            {
                                case -1:
                                    MessageBox.Show("出错了!choose=-1 没有选择");
                                    break;
                                case 0:
                                    if (right.c_sharp > rightmin.c_sharp)//从大到小
                                    {
                                        rightmin = right;
                                    }
                                    break;
                                case 1:
                                    if (right.ds > rightmin.ds)//从大到小
                                    {
                                        rightmin = right;
                                    }
                                    break;
                                case 2:
                                    if (right.maogai > rightmin.maogai)//从大到小
                                    {
                                        rightmin = right;
                                    }
                                    break;
                                case 3:
                                    if (right.ps > rightmin.ps)//从大到小
                                    {
                                        rightmin = right;
                                    }
                                    break;
                                case 4:
                                    if (right.sports > rightmin.sports)//从大到小
                                    {
                                        rightmin = right;
                                    }
                                    break;
                            }
    
                        }
    
    
                        temp.id = rightmin.id;
                        temp.name = rightmin.name;
                        temp.classnum = rightmin.classnum;
                        temp.c_sharp = rightmin.c_sharp;
                        temp.ds = rightmin.ds;
                        temp.maogai = rightmin.maogai;
                        temp.ps = rightmin.ps;
                        temp.sports = rightmin.sports;
                        temp.total = rightmin.total;//补充
                        temp.average = rightmin.average;//补充
    
                        rightmin.id = left.id;
                        rightmin.name = left.name;
                        rightmin.classnum = left.classnum;
                        rightmin.c_sharp = left.c_sharp;
                        rightmin.ds = left.ds;
                        rightmin.maogai = left.maogai;
                        rightmin.ps = left.ps;
                        rightmin.sports = left.sports;
                        rightmin.total = left.total;//补充
                        rightmin.average = left.average;//补充
    
    
                        left.id = temp.id;
                        left.name = temp.name;
                        left.classnum = temp.classnum;
                        left.c_sharp = temp.c_sharp;
                        left.ds = temp.ds;
                        left.maogai = temp.maogai;
                        left.ps = temp.ps;
                        left.sports = temp.sports;
                        left.total = temp.total;//补充
                        left.average = temp.average;//补充
                    }
    
                    //输出
                    MessageBox.Show("排序成功");
                    Node cur = new Node(0, "0", "0", 0, 0, 0, 0, 0);//毫无意义的赋值
    
                    textBox1.Text = "";//先清空
                    textBox1.Text += "学号 \t\t 班级 \t\t姓名\t语文\t体育\t数学\t英语\t物理\t总分\t平均分\r\n";
    
                    cur = PublicValue.Head;
    
                    while (cur != null)
                    {
                        textBox1.Text += cur.id + "\t" + cur.classnum + "\t" + cur.name + "\t" + cur.c_sharp + "\t" + cur.ds + "\t" + "\t" + cur.maogai + "\t" + cur.ps + "\t" + "\t" + cur.sports + "\t" + cur.total + "\t" + cur.average.ToString("f2") + "\r\n";
                        cur = cur.Next;
                    }
                }
    
            }
    
            private void SortForm_Load(object sender, EventArgs e)
            {
    
            }
        }
    }
    

    7.查找

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace C_sharp学生成绩管理系统
    {
        public partial class FindForm : Form
        {
            private Button button1;
            private TextBox textBox1;
            private TextBox textBox2;
            private Label label1;
            private Label label2;
            private Button button2;
            
            public FindForm()
            {
                InitializeComponent();
            }
            private void button1_Click_1(object sender, EventArgs e)
            {
                this.Close();
            }
           
            private void InitializeComponent()
            {
                this.button1 = new System.Windows.Forms.Button();
                this.button2 = new System.Windows.Forms.Button();
                this.textBox2 = new System.Windows.Forms.TextBox();
                this.textBox1 = new System.Windows.Forms.TextBox();
                this.label1 = new System.Windows.Forms.Label();
                this.label2 = new System.Windows.Forms.Label();
                this.SuspendLayout();
                // 
                // button1
                // 
                this.button1.BackColor = System.Drawing.SystemColors.Info;
                this.button1.Location = new System.Drawing.Point(561, 386);
                this.button1.Name = "button1";
                this.button1.Size = new System.Drawing.Size(98, 51);
                this.button1.TabIndex = 0;
                this.button1.Text = "退出";
                this.button1.UseVisualStyleBackColor = false;
                this.button1.Click += new System.EventHandler(this.button1_Click_1);
                // 
                // button2
                // 
                this.button2.BackColor = System.Drawing.SystemColors.Info;
                this.button2.Location = new System.Drawing.Point(309, 31);
                this.button2.Name = "button2";
                this.button2.Size = new System.Drawing.Size(115, 40);
                this.button2.TabIndex = 1;
                this.button2.Text = "查找";
                this.button2.UseVisualStyleBackColor = false;
                this.button2.Click += new System.EventHandler(this.button2_Click_1);
                // 
                // textBox2
                // 
                this.textBox2.BackColor = System.Drawing.Color.Snow;
                this.textBox2.Location = new System.Drawing.Point(103, 99);
                this.textBox2.Multiline = true;
                this.textBox2.Name = "textBox2";
                this.textBox2.Size = new System.Drawing.Size(556, 261);
                this.textBox2.TabIndex = 2;
                // 
                // textBox1
                // 
                this.textBox1.BackColor = System.Drawing.Color.Snow;
                this.textBox1.Location = new System.Drawing.Point(103, 38);
                this.textBox1.Name = "textBox1";
                this.textBox1.Size = new System.Drawing.Size(168, 25);
                this.textBox1.TabIndex = 3;
                // 
                // label1
                // 
                this.label1.AutoSize = true;
                this.label1.Location = new System.Drawing.Point(39, 38);
                this.label1.Name = "label1";
                this.label1.Size = new System.Drawing.Size(37, 15);
                this.label1.TabIndex = 4;
                this.label1.Text = "学号";
                // 
                // label2
                // 
                this.label2.AutoSize = true;
                this.label2.Location = new System.Drawing.Point(39, 102);
                this.label2.Name = "label2";
                this.label2.Size = new System.Drawing.Size(37, 15);
                this.label2.TabIndex = 5;
                this.label2.Text = "信息";
                // 
                // FindForm
                // 
                this.BackColor = System.Drawing.SystemColors.InactiveCaption;
                this.ClientSize = new System.Drawing.Size(739, 449);
                this.Controls.Add(this.label2);
                this.Controls.Add(this.label1);
                this.Controls.Add(this.textBox1);
                this.Controls.Add(this.textBox2);
                this.Controls.Add(this.button2);
                this.Controls.Add(this.button1);
                this.ForeColor = System.Drawing.Color.Blue;
                this.Name = "FindForm";
                this.Text = "查找";
                this.Load += new System.EventHandler(this.FindForm_Load);
                this.ResumeLayout(false);
                this.PerformLayout();
    
            }
    
            private void button2_Click_1(object sender, EventArgs e)
            {
                Node cur = new Node(0, "0", "0", 0, 0, 0, 0, 0);//毫无意义的赋值
                cur = PublicValue.Head;
                int findId = int.Parse(textBox1.Text);
                textBox2.Text = "";//先清空
                textBox2.Text += "学号 \t\t 班级 \t\t姓名\t语文\t体育\t数学\t英语\t物理\t总分\t平均分\r\n";
    
             
    
                while (cur != null)
                {
                    if (cur.id == findId)
                    {
                        textBox2.Text += cur.id + "\t";
                        textBox2.Text += cur.classnum + "\t";
                        textBox2.Text += cur.name + "\t";
                        textBox2.Text += cur.c_sharp + "\t";
                        textBox2.Text += cur.ds + "\t" + "\t";
                        textBox2.Text += cur.maogai + "\t";
                        textBox2.Text += cur.ps + "\t";
                        textBox2.Text += cur.sports + "\t";
                        textBox2.Text += cur.total + "\t";
                        textBox2.Text += cur.average.ToString("f2");
                        break;
                    }
                    cur = cur.Next;
                }
                if (cur == null)
                {
                    MessageBox.Show("你输入的学号不存在!");
                }
            }
    
            private void FindForm_Load(object sender, EventArgs e)
            {
    
            }
        }
    }
    

    ==那么先恭喜看到这里的亲,你已经快要胜利了,666. 长时间地做和用眼对身体不好,请缓解一下自己的疲劳。==看着以下图片缓解一下吧。

    在这里插入图片描述
    没办法,码农的生活就是这么枯燥且乏味,为了自己的目标和学习、工作努力有什么不值得呢。
    为了方便大家做出来,我提供了每一块的代码和控件属性表给大家,链接如下:
    链接:https://pan.baidu.com/s/1T8VV4jX0G9wxV3QIJgOCkA
    提取码:zuyc

    运行结果

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里说明一下,可能运行出来的信息界面不太规则排列,大家可以去自行更改。

    行百里者半九十,坚持练习,就会有长足的进步。加油!
    博主整理不易,还请大家多多指正,转载请注明出处。如果对你的学习有帮助的话请留下你那个大大的赞,你的支持与关注就是博主最大的更新动力。

    本期博文如果反响比较好的话,我会在评论区发放源代码链接,也请大家在评论区多多留言,谢谢大家的支持与鼓励

    C# 下期预告:
    1.简易计算器的实现
    2.C#核心语法
    3.俄罗斯方块的设计与编写
    本期源代码文件链接:
    链接:https://pan.baidu.com/s/16CJzZ_2GsmjO-fypOpgNHA
    提取码:y72z

    展开全文
  • 学生成绩管理系统

    2011-11-02 11:34:10
    VS2008为用户提供了“windows应用程序”模块来创建windows应用程序,并提供了可视化的开发环境帮组用户创建和设计窗体窗体对象中包含属性 方法和事件,用户可以通过修改窗体对象的属性和事件。
  • 【简答题】[说明] 某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下。 (1)每门课程都由3~6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的...

    【简答题】[说明] 某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下。 (1)每门课程都由3~6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。课程结束后进行期末考试,其成绩作为这门课程的考试成绩。 (2)学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。 (3)在记录学生成绩之前,系统需要验证这些成绩是否有效...

    【简答题】阅读下列说明和E-R图,回答问题1至问题3,将解答填入对应栏内。 [说明] 设有下列关于学生成绩管理系统的E-R图(见图2-1)。图中矩形表示实体,圆表示属性,双圆表示关键字属性,菱形表示实体间的联系。假定已通过下列SQL语言建立了基本表: CREATE TABLE STUDENT(SNo CHAR(6)NOT NULL UNIQUE, SName CHAR(20), ...

    【简答题】继续 用对象数组实现学生成绩管理系统( 参考教材P99 ) 完成剩余第3--5个功能模块: 3.查找 4.排序 5.添加 ,并测试结果 提交代码及运行结果。

    【简答题】[说明] 某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下。 (1)每门课程都由3~6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。课程结束后进行期末考试,其成绩作为这门课程的考试成绩。 (2)学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。 (3)在记录学生成绩之前,系统需要验证这些成绩是否有效...

    【简答题】[说明] 某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下: 1.每门课程都由3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。课程结束后进行期末考试,其成绩作为这门课程的考试成绩。 2.学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。 3.在记录学生成绩之前,系统需要验证这些成绩是否有效。首先,根据学...

    【简答题】用对象数组实现学生成绩管理系统( 参考教材P99 ) 完成第1--2个功能模块: 1.建立成绩表 2.显示成绩表,并测试结果 程序框架如下,请下载: Student类代码 StudentInfo.java Xscjgl2.java 请完成前两个功能模块,并提交代码及运行结果。

    【判断题】学生成绩管理系统属于操作系统。()

    A.

    正确

    B.

    错误

    【简答题】【 应用拓展 】 编写一个小程序,实现在屏幕上输出以下内容: ****************************** * 学生成绩管理系统 * ******************************

    【简答题】实现学生成绩管理系统的界面设计模块。 2 、管理系统要求能够根据用户的选择做出相应的动作,例如当用户选择 1 时,能够录入学生成绩,选择 2 时,能够显示学生成绩,选择 3 时,能够查询学生成绩等。 3 、实现学生成绩管理系统主菜单重复选择功能。即用户完成某一菜单功能后,系统能询问是否继续操作,能够继续进行菜单选择,直至用户选择了“ 0 ”,才能退出系统。

    【简答题】【说明】 某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下: 1.每门课程都由3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。课程结束后进行期末考试,其成绩作为这门课程的考试成绩。 2.学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。 3.在记录学生成绩之前,系统需要验证这些成绩是否有效。首先,根据学...

    【判断题】学籍成绩管理系统案例中,所有窗体中的数据库访问技术都是采用ADO对象,没有采用ADO Data控件技术。()

    A.

    正确

    B.

    错误

    【单选题】如学校一卡通管理系统、学生成绩管理系统、通用考试系统等属于()。

    A.

    数据库

    B.

    数据库管理系

    C.

    数据库应用程序

    D.

    数据库管理员

    【单选题】软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是( )。A.学生成绩管理系统B.C语言编译程序C.UNIX操作系统D.数据库管理系统

    A.

    B.

    C.

    D.

    【单选题】用户在操作一个学生成绩管理系统时,需要输入用户名及密码, DBMS 需要对用户名及密码进行验证和确认,这体现了 DBMS 对数据库操作的 _____ 功能。

    A.

    物理存储控制

    B.

    并发访问控制

    C.

    完整性控制

    D.

    安全性控制

    【单选题】在一个学生成绩管理系统中,定义数据项“成绩”的取值范围是0~100的整数,那么DBMS在每次对成绩数据进行插入或修改操作时都将进行校验,凡不满足该约束者一律拒绝接受,这体现了DBMS对数据库操作的什么功能?

    A.

    完整性控制

    B.

    物理存储控制

    C.

    并发访问控制

    D.

    安全性控制

    【简答题】在学生成绩管理系统创建一个如下图所示选项卡。

    【单选题】军训作为新生入学的第一门必修课,记( )学分,纳入学生成绩管理系统。

    A.

    1

    B.

    2

    C.

    3

    D.

    4

    【简答题】【说明】 某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下: 1.每门课程都有3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。课程结束后进行期末考试,其成绩作为这门课程的考试成绩。 2.学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。 3.在记录学生成绩之前,系统需要验证这些成绩是否有效。首先,根据学...

    【简答题】继续完成学生成绩管理系统,用结构化设计方法实现,通过几个一维数组来存储学生的信息 (参考教材P60) 完成剩余第6--7个功能模块: 6.修改 7.删除 ,并测试结果 提交代码及运行结果。

    【简答题】阅读下列说明和E-R图,回答问题1至问题3,将解答填入对应栏内。 [说明] 设有下列关于学生成绩管理系统的E-R图(见图2-1)。图中矩形表示实体,圆表示属性,双圆表示关键字属性,菱形表示实体间的联系。假定已通过下列SQL语言建立了基本表: CREATE TABLE STUDENT(SNo CHAR(6)NOT NULL UNIQUE, SName CHAR(20), ...

    【简答题】根据SSE-CMM过程改进图示,分析成绩管理系统可以通过直接执行http方式的SQL注入修改成绩问题,给出图示每个环节合适的内容。

    【单选题】当开发的系统是成绩管理系统时,其中的“学生”在数据流程图中应视为( )。

    A.

    数据处理

    B.

    外部实体

    C.

    数据存储

    D.

    数据流

    【简答题】已知学院成绩管理系统中有如下关系表:学生表 students ( student_number ,student_name , major_name, current_credits ); 课程表course( course_name , description, max_students , current_students , num_credits ); 成绩表SC (student_num...

    【简答题】用顺序存储实现学生成绩管理系统。将程序代码项目压缩以附件的形式上传。 注意:项目名称:姓名拼音首字母+学号

    【简答题】模仿项目网上书店管理系统的需求分析和设计,要求设计一款学生成绩管理系统,采用普遍流行的MySQL作为数据库,主要提供对日常学生成绩管理,包括输入、查询、修改、更新等功能,实现学生成绩管理的网络化、自动化。 要求: 1、完成学生成绩管理系统的需求分析。 2、完成学生成绩管理系统的系统设计。

    【单选题】在一个学生成绩管理系统中,定义数据项 “成绩”的取值范围是0~100的整数,那么DBMS在每次对成绩数据进行插入或修改操作时都将进行校验,凡不满足该约束者一律拒绝接受,这体现了DBMS对数据库操作的_____功能。

    A.

    物理存储控制;

    B.

    并发访问控制;

    C.

    完整性控制;

    D.

    安全性控制;

    【单选题】开发学生成绩管理系统过程中开展学校信息处理的调查,属于数据库应用系统设计中( )阶段的任务。

    A.

    物理设计

    B.

    概念设计

    C.

    逻辑设计

    D.

    需求分析

    【简答题】继续完成学生成绩管理系统,用结构化设计方法实现,通过几个一维数组来存储学生的信息 (参考教材P60) 完成剩余第3--5个功能模块: 3.查找 4.排序 5.添加 ,并测试结果 提交代码及运行结果。

    【单选题】数据库管理系统是管理数据库的重要软件系统。其基本功能如图10-3示意。理解该图,回答问题。 【图片】用户在操作一个学生成绩管理系统时,需要输入用户名及密码,DBMS需要对用户名及密码进行验证和确认,这体现了DBMS对数据库操作的_____功能。

    A.

    物理存储控制

    B.

    并发访问控制

    C.

    完整性控制

    D.

    安全性控制

    【简答题】阅读下列说明和E-R图,回答问题1至问题3,将解答填入对应栏内。 [说明] 设有下列关于学生成绩管理系统的E-R图(见图2-1)。图中矩形表示实体,圆表示属性,双圆表示关键字属性,菱形表示实体间的联系。假定已通过下列SQL语言建立了基本表: CREATE TABLE STUDENT(SNo CHAR(6)NOT NULL UNIQUE, SName CHAR(20), ...

    【简答题】实现 “学生成绩管理系统”的 输出学生信息的功能 继续前面的练习,输入学号,查找此学生的信息并输出。 C19050302028实验报告1.docx C19050302028实训练习.docx

    【简答题】学生成绩管理系统。从键盘输入某班学生某门课的成绩,当输入成绩为负值时,表示输入结束,输出其平均分,并输出实际输入的学生人数,输出最高分。并将分数按从高到低顺序进行排序输出。

    【简答题】将学生成绩管理系统的源程序分成三个文件student.h,main.c和student.c,实现学生成绩管理系统中的所有功能。 C19070202039实验报告.docx C19070202039实训练习.docx

    【单选题】在成绩管理系统的设计中,学生实体和课程实体之间的联系是___________。

    A.

    一对一

    B.

    一对多

    C.

    多对多

    【单选题】学校的学生成绩管理系统属于___。

    A.

    工具软件

    B.

    系统程序

    C.

    应用程序

    D.

    文字处理软件

    【简答题】某高校欲开发一个成绩管理系统。记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下。 (1)每门课程都由3~6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。课程结束后进行期末考试,其成绩作为这门课程的考试成绩。 (2)学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。 (3)在记录学生成绩之前,系统需要验证这些成绩是否有效。首先,根据学生信...

    【简答题】针对“学生成绩管理系统”进行需求分析和数据库的概念设计。 1.使用Microsoft Visio工具(自行下载软件并安装),画出该系统的ER图,完成后,将图保存为图片后,以图片形式上传到此题中。

    【判断题】学生成绩管理系统属于操作系统。()

    A.

    正确

    B.

    错误

    【简答题】创建一个C程序,使用嵌套调用计算 x 3 +y 3 + Z 3 2. 实现学生成绩管理系统中修改学生记录功能,要求调用学生查询函数及显示单条记录函数。 C19050802033实验报告1.docx C19050802033实训练习.docx

    【单选题】试题4软件按功能可以分为应用软件,系统软件和支撑软件。下面属于应用软件的是()

    A.

    学生成绩管理系统

    B.

    C语言编译程序

    C.

    UNIX操作系统

    D.

    数据库管理系统

    【单选题】使用某种C语言开发了“成绩管理系统”,该软件是一种________。

    A.

    系统软件

    B.

    应用软件

    C.

    高级语言

    D.

    操作系统

    【简答题】阅读下列说明和E-R图,回答问题1至问题3,将解答填入对应栏内。 [说明] 设有下列关于学生成绩管理系统的E-R图(见图2-1)。图中矩形表示实体,圆表示属性,双圆表示关键字属性,菱形表示实体间的联系。假定已通过下列SQL语言建立了基本表: CREATE TABLE STUDENT(SNo CHAR(6)NOT NULL UNIQUE, SName CHAR(20), ...

    【简答题】某高校欲开发一个成绩管理系统。记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下。 (1)每门课程都由3~6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。课程结束后进行期末考试,其成绩作为这门课程的考试成绩。 (2)学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。 (3)在记录学生成绩之前,系统需要验证这些成绩是否有效。首先,根据学生信...

    【简答题】某学校需要开发一个学生成绩管理系统,教务人员可以通过该系统维护学生信息、课程信息和成绩信息,学生可以随时查询自己的成绩单,该系统的实体关系图如下所示,请问图中是否应该增加"教务人员"?试说明理由。

    【简答题】【说明】 某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下: 1.每门课程都由3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。课程结束后进行期末考试,其成绩作为这门课程的考试成绩。 2.学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。 3.在记录学生成绩之前,系统需要验证这些成绩是否有效。首先,根据学...

    【单选题】某学校的成绩管理系统中,学生成绩的输入范围为0~100,根据等价类划分法,学生成绩可划分为( )

    A.

    2个有效等价类和2个无效等价类

    B.

    1个有效等价类和2个无效等价类

    C.

    2个有效等价类和1个无效等价类

    D.

    1个有效等价类和1个无效等价类

    【单选题】计算机程序员设计了某高校的学生成绩管理系统,这属于数据库技术研究领域的

    A.

    数据库理论的研究

    B.

    数据库应用系统设计与开发研制

    C.

    DBMS系统软件的研制

    D.

    不属于以上三个领域

    【单选题】在建立学生成绩管理系统时,需要对学生这一群体进行抽象,以下哪一项最不需要出现在结果中

    A.

    学号

    B.

    姓名

    C.

    专业

    D.

    出生日期

    【判断题】“学生成绩管理”系统就是一个小型的数据库系统。

    A.

    正确

    B.

    错误

    【简答题】某高校欲开发一个成绩管理系统。记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下。 (1)每门课程都由3~6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。课程结束后进行期末考试,其成绩作为这门课程的考试成绩。 (2)学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。 (3)在记录学生成绩之前,系统需要验证这些成绩是否有效。首先,根据学生信...

    展开全文
  • 【Python课程设计】学生成绩管理系统

    万次阅读 多人点赞 2020-06-30 20:14:05
    学生成绩管理系统1、需求分析2、功能设计与分析1、使用数据库对数据进行存取(1)使用PyMySQL模块操作数据库对数据进行存取(2)创建数据库school,创建数据表student_sore、teacher_login(3)使用xlrd模块从Excel...

    1、需求分析

    1. 通过类的知识实现学生成绩信息(学号、姓名、院系、三门课成绩、考试平均成绩、同学互评分、任课教师评分、综合测评总分,其中综合测评总分由:考试平均成绩70%,同学互评分10%,任课教师评分20% );
    2. 能够实现学生成绩信息的保存和读取(使用数据库对数据进行存取);
    3. 实现所有相关信息的输入、输出、查找、删除、修改等功能;
    4. 系统界面应至少实现控制台界面(使用桌面窗体界面进行交互);
    5. 通过xlrd和xlwt模块读取和写入Excel文件;

    2、功能设计与分析

    1、使用数据库对数据进行存取

    (1)使用PyMySQL模块操作数据库对数据进行存取

    先安装PyMySQL模块:pip install PyMySQL,再使用时直接导入即可:import pymysql

    (2)创建数据库school,创建数据表student_sore、teacher_login

    可以使用Navicat for MySQL创建,也可以使用预处理语句创建表,若不存在则创建,若存在则跳过;
    在这里插入图片描述

    (3)使用xlrd模块从Excel文件中读取数据到数据库

    先安装xlrd模块:pip install xlrd,再使用时直接导入即可:import xlrd
    打开一个Excel文件,通过sheet的索引获取sheet表,循环获取每个单元格的值,一行一行读取到数据库表中。
    ibG9nLmNzZG4ubmV0L3FxXzQzOTcxNTA0,size_16,color_FFFFFF,t_70)
    在这里插入图片描述

    (4)定义一个PyMySQL增删改查的工具类PyMySQLUtils
    • 1)def __init__(self) 获取连接:打开数据库的连接,使用cursor()方法获取操作游标;
      在这里插入图片描述
    • 2)def fetchall(self, sql) 查询获取多条数据:使用execute()方法执行SQL语句,使用fetchall()方法获取多条数据;
      在这里插入图片描述
    • 3)def fetchone(self, sql) 查询获取单条数据:使用execute()方法执行SQL语句,使用fetchone()方法获取单条数据;
      在这里插入图片描述
    • 4)def execute(self, sql) 添加删除更新操作:使用execute()方法执行SQL语句,提交到数据库执行,发生错误时回滚;
      在这里插入图片描述
    • 5)def close(self) 关闭连接:关闭游标,关闭数据库连接;
      在这里插入图片描述

    2、使用桌面窗体界面进行交互

    (1)使用Tkinter模块实现图形化界面GUI设计

    使用时直接导入即可:

    from tkinter import *
    from tkinter import ttk
    import tkinter.font as tkFont
    import tkinter.messagebox as messagebox
    
    
    (2)开始界面:教师注册、教师登录、退出系统

    class StartMenu:(销毁上一个窗口)初始化一个根窗口window;添加Label标签控件,用于单行文本显示"学生成绩管理系统";添加三个Button按钮控件,将其分别与关联函数lambda: TeacherRegister、lambda: TeacherLogin、window.destroy绑定;在主事件循环中等待用户触发事件响应。

    (3)教师注册界面:输入账号、输入密码、确认账号、确定、返回

    class TeacherRegister:(销毁上一个窗口)初始化一个根窗口window;添加Label标签控件,用于单行文本显示"教师注册页面",“输入账号”、“输入密码”、“确认账号”;添加三个Entry输入控件,用于显示用户输入文本,添加两个Button按钮控件,将其分别与关联函数register、back绑定;在主事件循环中等待用户触发事件响应。
    在这里插入图片描述

    (4)教师登录界面:账号、密码、确定、返回

    class TeacherLogin:(销毁上一个窗口)初始化一个根窗口window;添加两个Entry输入控件,用于显示用户输入文本,添加两个Button按钮控件,将其分别与关联函数login、back绑定;在主事件循环中等待用户触发事件响应。
    在这里插入图片描述

    (5)教师操作界面:添加、修改、查询、删除

    class TeacherMenu:(销毁上一个窗口)初始化一个根窗口window;添加三个Frame框架控件,用于框架分组self.frame_center、self.frame_left、frame_right;在中心区域添加ttk.Treeview树视图窗口控件,ttk.Scrollbar 滚动条控件,设置列、表头,定义储存数据的列表,从数据库获取表格内容,设置表格内容,给表头绑定函数tree_sort_column,点击可排序,给表格绑定点击事件tree_click,获取被点击的条目;在左方区域添加八个Label标签控件,用于单行文本显示;添加八个Entry输入控件,用于显示用户输入文本,添加六个Button按钮控件,将其分别与关联函数绑定;在主事件循环中等待用户触发事件响应。
    在这里插入图片描述
    在这里插入图片描述

    3、实现所有相关信息的添加、修改、查询、删除等功能

    (1)添加学生成绩信息

    insert:判断输入框中的学号在不在储存学号的列表中,在则警告"该学生成绩信息已存在!";不在则先添加输入框中的数据到数据库中,接着添加到储存储存数据的列表中,最后添加到表格内容中。
    在这里插入图片描述

    (2)修改学生成绩信息

    update:判断输入框中的学号在不在储存学号的列表中,不在则警告"该学生成绩信息不存在!";在则先根据输入框中的学号修改数据库中的数据,接着根据输入框中的学号在储存学号列表的索引删除储存数据的列表中的数据,最后删除表格内容中的数据。
    在这里插入图片描述

    (3)查询学生成绩信息

    select:判断输入框中的学号在不在储存学号的列表中,不在则警告"该学生成绩信息不存在!";在则根据输入框中的学号在储存学号列表的索引直接查询储存数据的列表中的数据,把数据设置到输入框中。
    在这里插入图片描述

    (4)删除学生成绩信息

    delete:判断输入框中的学号在不在储存学号的列表中,不在则警告"该学生成绩信息不存在!";在则先根据输入框中的学号删除数据库中的数据,接着根据输入框中的学号在储存学号列表的索引删除储存数据的列表中的数据,最后删除表格内容中的数据。
    在这里插入图片描述

    (5)清空输入框的内容

    clear:通过StringVar.set()方法直接把输入框的内容设置为空。
    在这里插入图片描述

    (6)写入到Excel文件

    先安装xlwt模块:pip install xlwt,再使用时直接导入即可:import xlwt
    新建一个Excel文件,添加一个名为sheet1的表,设置允许重写覆盖,从数据库中获取数据,循环向sheet写入数据,最后保存文件中。
    在这里插入图片描述
    在这里插入图片描述

    3、总结与体会

    4、运行结果

    (1)开始界面

    在这里插入图片描述

    (2)教师注册界面

    在这里插入图片描述
    在这里插入图片描述

    (3)教师登录界面

    在这里插入图片描述
    在这里插入图片描述

    (4)教师操作界面

    1)添加学生成绩信息

    在这里插入图片描述
    在这里插入图片描述

    2)修改学生成绩信息

    在这里插入图片描述
    在这里插入图片描述

    3)查询学生成绩信息

    在这里插入图片描述
    在这里插入图片描述

    4)删除学生成绩信息

    在这里插入图片描述
    在这里插入图片描述

    5)学生成绩信息排序

    在这里插入图片描述
    在这里插入图片描述

    6)写入到Excel文件

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    有需要请联系 QQ:2438299029

    展开全文
  • 学生成绩管理系统.zip

    2020-06-12 16:36:34
    Tkinter 是 Python 的标准 GUI 库。Python 使用 Tkinter 可以快速的创建 GUI 应用程序实现图形化界面。登录界面、用户端和管理员端,链接SQLite 数据库管理用户。
  • 学生成绩管理系统是用工具codeblock开发的,语言类型c语言,实现功能:1、创建学生成绩库 2、学生信息显示 3、学生学号排序 4、学生成绩排序 5、添加学生信息 6、根据学号删除学生信息 7、查找学生信息 、8退出...

    学生成绩管理系统

    简介
    此学生成绩管理系统是用工具codeblock开发的,语言类型c语言,实现功能:1、创建学生成绩库 2、学生信息显示 3、学生学号排序 4、学生成绩排序 5、添加学生信息 6、根据学号删除学生信息 7、查找学生信息 、8退出程序。
    本次实验实现了c语言坐标显示和window窗体显示
    先上一下试验界面图
    在这里插入图片描述

    欢迎关注博主,博主会不定时更新学习的知识和大家共享

    想要源代码的可以关注微信公众号回复:c学生成绩管理系统
    在这里插入图片描述

    实验代码解析

    运行程序
    出现窗体程序,点击是进入成绩管理系统,点击否退出
    在这里插入图片描述

    窗体代码

    
    SetConsoleTitle("学生英语成绩管理系统");//窗口名称
    IDYES== MessageBox(NULL,"欢迎进入学生管理系统","半熟的瓜",MB_YESNO)
    
    

    显示界面的代码

    int showlist(student *head,int x,int y)
    {
        int i;
        int out;
        char str[10][40]={
            "**************************************",
            "***********1.创建学生成绩库***********",
            "***********2.学生学号排序*************",
            "***********3.学生成绩排序*************",
            "***********4.添加学生信息*************",
            "***********5.根据学号删除学生信息*****",
            "***********6.修改学生信息*************",
            "***********7.查找学生信息*************",
            "***********8.退出程序*****************",
            "**************************************"
        };
        system("cls");//清屏函数
    
        for(i=0;i<10;i++)
        {
            gotoxy(30,i);
            printf("%s\n",str[i]);
        }
        Dayinlist(head,x,y);//每个选择执行完输出新的学生信息
        printf("\n请输入你的选择(1-8):");
        scanf("%d",&out);
        return out;
    }
    

    坐标的代码

    void gotoxy(int x,int y)
    {
        COORD pos;
        pos.X=x;
        pos.Y=y;
        SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);
    }
    

    创建学生链表的代码

    void Createlist(int n,student *head)
    {
        student *p,*pre,*q;
        pre=head;
        q=head;
        int i;
        for(i=0;i<n;i++)
        {
            p=(student *)malloc(sizeof(student));
            printf("学号  成绩:");
            scanf("%lf%lf",&p->sno,&p->Escore);
            q=head->next;
            while(q)
            {
                if(q->sno==p->sno)
                {
                    printf("添加错误,已经有此学生的信息!!\n请重新输入!\n");
                    i--;
                    free(p);//释放空间
                    break;
                }
                else
                    q=q->next;
    
            }
            if(q==NULL)
            {
                pre->next=p;//插入链表
                p->number=pre->number+1;
                pre=p;
                pre->next=NULL;
            }
        }
        printf("创建成功!");
        system("pause");
    }
    

    输出学生信息

    void Dayinlist(student *h,int x,int y)
    {
        student *p;
        p=h->next;
        if(p==NULL)
        {
            gotoxy(x,y);
            printf("没有学生信息!!\n");
        }
        else
        {
            gotoxy(x-1,y);
            printf("-------------------");
            gotoxy(x,++y);
            printf("序号");
            gotoxy(x+5,y);
            printf("|");
            gotoxy(x+6,y);
            printf("学号");
            gotoxy(x+11,y);
            printf("|");
            gotoxy(x+12,y);
            printf("英语成绩");
            while(p)
            {
                gotoxy(x,++y);
                printf("%d",p->number);
                gotoxy(x+5,y);
                printf("|");
                gotoxy(x+6,y);
                printf("%.lf",p->sno);
                gotoxy(x+11,y);
                printf("|");
                gotoxy(x+12,y);
                printf("%.2lf",p->Escore);
                //printf("%d\t%.2lf\n",p->sno,p->Escore);
                p=p->next;
            }
            gotoxy(x-1,++y);
            printf("-------------------\n");
        }
        //system("pause");//光标等待
    }
    

    学生学号选择排序

    //学生学号,选择排序
    void Sno_paixu(student *h,int n)
    {
        int i,j;
        double temp;
        student *p,*q;
        p=h->next;
        if(p==NULL)
            printf("没有学生信息!!\n");
        else
        {
            for(i=0;i<n-1;i++)
            {
                q=p->next;
                for(j=i+1;j<n;j++)
                {
                    if(q->sno<p->sno)
                    {
                        temp=p->sno;
                        p->sno=q->sno;
                        q->sno=temp;
                        temp=p->Escore;
                        p->Escore=q->Escore;
                        q->Escore=temp;
                    }
                    q=q->next;
                }
                p=p->next;
            }
            printf("排序成功!\n");
        }
        system("pause");
    
    }
    

    学生成绩冒泡排序

    //学生成绩排序,冒泡排序
    void Escore_list(student *h,int n)
    {
        int i,j;
        double temp;
        student *p,*q;
        p=h->next;
        if(p==NULL)
            printf("没有学生信息!!\n");
        else
        {
            for(i=0;i<n-1;i++)
            {
                p=h->next;
                for(j=0;j<n-i-1;j++)
                {
                    q=p->next;
                    if(q->Escore<p->Escore)
                    {
                        temp=p->sno;
                        p->sno=q->sno;
                        q->sno=temp;
                        temp=p->Escore;
                        p->Escore=q->Escore;
                        q->Escore=temp;
                    }
                    p=p->next;
                }
            }
            printf("排序成功!\n");
        }
        system("pause");
    }
    

    添加学生的信息

    //添加学生的信息
    void add_list(student *h,int *n)
    {
        int a,i;
        student *en,*p,*pre;
        pre=h;
        printf("请输入添加学生的个数:");
        scanf("%d",&a);
        *n+=a;//学生人数添加
        for(i=0;i<a;i++)
        {
            printf("学号  英语成绩:");
            en=(student *)malloc(sizeof(student));
            scanf("%lf%lf",&en->sno,&en->Escore);
            p=h->next;
            //判断添加的是否已存在
            while(p)
            {
                if(p->sno==en->sno)
                {
                    printf("添加错误,已经有此学生的信息!!\n请重新输入!\n");
                    i--;
                    free(en);//释放空间
                    break;
                }
                pre=p;
                p=p->next;
            }
            //当p==NULL说明没有此学生的信息
            if(p==NULL)
            {
                pre->next=en;
                en->number=pre->number+1;
                pre=en;
                pre->next=NULL;
            }
        }
        printf("添加完毕!!!\n");
        system("pause");
    }
    

    根据学号删除学生的信息

    //根据学号删除学生的信息
    void delete_list(student *h)
    {
        double s;
        student *p,*pre;
        pre=h;
        p=pre->next;
        printf("请输入所要删除的学生的学号:");
        scanf("%lf",&s);
        while(p)
        {
            //找到删除学生的学号
            if(p->sno==s)
            {
                pre->next=p->next;
                free(p);
                pre=pre->next;
                while(pre)
                {
                    pre->number--;
                    pre=pre->next;
                }
                break;
            }
            pre=p;
            p=p->next;
    
        }
        //没有找到所删除学生的信息
        if(p==NULL)
            printf("没有找到该学生的学号!\n");
        else
            printf("删除成功!\n");
        system("pause");
    }
    

    修改学生的信息

    //修改学生的信息
    void revise_list(student *h)
    {
        student *p;
        p=h->next;
        int a;
        double s;
        printf("请输入所要修改信息的学生的学号:");
        scanf("%lf",&s);
        while(p)
        {
            //找所要修改的学生信息
            if(p->sno==s)
            {
                printf("1、修改学号的信息\n");
                printf("2、修改成绩的信息\n请输入做要修改的属性序号:");
                while(1)
                {
                    scanf("%d",&a);
                    if(a==1)
                    {
                        printf("学号修改为:");
                        scanf("%lf",&p->sno);
                        break;
                    }
                    else if(a==2)
                    {
                        printf("成绩修改为:");
                        scanf("%lf",&p->Escore);
                        break;
                    }
                    else
                        printf("没有该属性的序号,请再输入一次:");
                }
                break;
            }
            p=p->next;
        }
        if(p==NULL)
            printf("没有该学号!\n");
        else
            printf("修改成功!\n");
        system("pause");
    }
    

    查找学生信息

    //查找学生信息
    void Select_list(student *h)
    {
        double s;
        int t,c=0;//c是标志位
        student *p;
        p=h->next;
    
        printf("1.学号查找\n");
        printf("2.成绩查找\n请输入你们所要查找的序号:");
        while(1)
        {
            scanf("%d",&t);
            if(t==1||t==2)
                break;
            else
                printf("选择错误,请再输入一次:");
        }
    
        if(t==1)
        {
            printf("请输入学号:");
            scanf("%lf",&s);
            while(p)
            {
                if(p->sno==s)
                {
                    printf("学号:%.lf成绩:%.2lf\n",p->sno,p->Escore);
                    c=1;
                }
                p=p->next;
            }
        }
        else
        {
            printf("请输入成绩:");
            scanf("%lf",&s);
            while(p)
            {
                if(p->Escore==s)
                {
                    printf("学号:%.lf成绩:%.2lf\n",p->sno,p->Escore);
                    c=1;
                }
                p=p->next;
            }
        }
        if(c==0)
            printf("没有此学生信息!!");
        system("pause");
    }
    
    展开全文
  • vb学生成绩管理系统

    2013-06-28 08:55:24
     学生成绩管理系统 课程设计的目的  理解面向对象的软件设计基本理论,学习VB软件设计的基本方法,熟悉一般软件项目开发的基本步骤,培养运用VB解决实际问题的能力和技巧。 课程设计的主要内容和要求(包括原始...
  • VC版学生成绩管理系统

    千次阅读 2013-12-31 21:06:36
    VC版学生成绩管理系统 一. 功能需求:  1. 能进行对数据库的连接(后台): 这是查询管理信息的基础。 2. 能进行增、删、改、查等基本功能: 这是学生成绩管理系统最基本的功能,可以在这个基础上进行扩展...
  • 本课程设计将利用C#窗体,ADO.NET数据访问技术和LINQ查询设计和开发一个管理员使用的学生成绩管理系统。系统将实现以下功能: 1)管理员登录:管理员登录成功才能完成管理功能; 2)学生信息管理:将实现学生信息的增 ...
  • C#学生成绩管理系统

    2020-10-15 00:06:32
    使用链表写学生成绩管理系统 c#作业 链表可以灵活的展示增删改查 下面是结果演示 这是登录及部分添加 继续添加 继续添加及输出成绩 学生成绩查询 学生信息修改再输出 删除再输出 0直接退出了 /* Author:...
  • 一、背景资料 本系统针对一个班级的学生进行课程的成绩信息管理,其基本情况如下: ...根据学生信息数据表,将“学号”、“姓名”写入学生数据表,为学生成绩管理创建一个只含有学生对象标识内容的空数据表。
  • Winform之学生信息管理系统登陆窗体

    千次阅读 2015-04-22 21:00:38
    好吧,对这块的知识学习早已期待已久,感觉学习的进度还是慢了,最近一直在学习Winform,不得不说一些登陆窗体的设计,这几天算是小有收获,自己也看了许多这方面的知识,知道了要想做学生信息管理系统是一个漫长的...
  • 第一次接触vb,然后被要求做一个学生成绩管理系统,然后就做出了一个屎一般的系统,,,,大学白学好吧。前辈是个好人啊。手把手教了我怎么用三层架构做一个程序,话不多说,直接上干货了。 三层架构,,说一说我...
  • Java课程设计之 学生成绩管理系统

    千次阅读 多人点赞 2020-12-27 14:22:39
    设计开发一个学生成绩管理系统 (1)根据实现的功能,划分出合理的对象类,明确各个对象类之间的关系。为 各个对象类设计正确的域和方法,为每个方法设计合理的方法体。同时,为对象类及内部的域和方法运用正确的...
  • 本系统是学生成绩管理系统,所以应该做到可以录入学生成绩,修改学生成绩,删除学生成绩,查询学生成绩,以及最后的所有学生按照GPA排名。 本系统的数据来源期末考试成绩,用来实现录入,查询,修改,删除,以及...
  • 学生成绩管理系统 这是我大一的课程设计作业,供大家参考。 该程序利用Window文件和getch()函数通过“pgup”,“pgdn”键选择功能菜单,其中具体的函数功能我也不是很清楚,借鉴了一些大佬的对这部分的运用代码。 ...
  • 学生成绩管理系统
  • 学生成绩管理系统(三):系统设计 一、系统框架 1.使用图形用户界面登录。 2.建立一个数据库,再在该数据库中建三张表STUDENT(学生信息表)、Teacher(教师账号管理表)、zhanghao(学生账号管理表)。 3.设计当以...
  • c++学生成绩管理系统

    2020-01-05 09:17:17
    1.学生成绩管理系统 数据库的数据项主要数据包括:学号、姓名、年级、专业、成绩1、成绩2、成绩3、平均成绩、总成绩。 要求具有以下功能: (1)添加、删除任意个记录。 (2)修改任意个记录。 (3)显示、...
  • 基于sqlserver数据库的学生成绩管理系统

    万次阅读 多人点赞 2018-11-11 02:04:46
    学生数据编辑界面: 学生数据查询界面: 项目文档 项目源码 “用户登录”为“groupBox控件” 双击“确定”按钮: private void button1_Click(object sender, EventArgs e) { if (textB...
  • 系统主要包括学生管理员两个用户角色 以学生角色登陆进去 学生可以查看自己的选修课情况 修改自己的个人信息 以管理员的角色登陆进去,管理员可以查看选修课的选修情况 增加选修课,查看学生的个人情况 ...
  • 一个C#的学生成绩管理系统作业

    万次阅读 多人点赞 2018-03-18 20:26:46
    老师要求:能查询每个学生的总成绩、显示前三名成绩、单科成绩最高分和不及格的学生名单、全班平均成绩、各科成绩在不同分数段的学生人数百分比。第一次用C#,写的比较糙,但总的来说还是学到不少的:1.学会了...
  • 用java写了一个学生成绩管理系统练练手,数据库是mysql,请大神手下留情~~ 主要有这几个功能 1.1 增加学生成绩 增加学生信息主要是把学生的成绩录入系统中,录入信息包括学生学号,姓名,C++成绩,电路成绩,英语...
  • 学生成绩管理系统欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,008
精华内容 403
关键字:

创建学生成绩管理系统窗体