【C#】编程练习题:实现一个学生成绩管理类,要求输出其中成绩最好的。

思路:

想办法让课程与学生产生联系,可以写一个学生管理类(这里没有写),再写一个方法找出总分最大的学生,输出。

	//Program类
    class Program
    {
        static void Main(string[] args)
        {
            Course[] s1Course = new Course[3];
            s1Course[0] = new Course("数据结构", 90);
            s1Course[1] = new Course("数据库", 50);
            s1Course[2] = new Course("软件工程", 60);
            Student s1 = new Student("张三", s1Course);

            Course[] s2Course = new Course[3];
            s2Course[0] = new Course("数据结构", 50);
            s2Course[1] = new Course("数据库", 80);
            s2Course[2] = new Course("软件工程", 40);
            Student s2 = new Student("李四", s2Course);

            Course[] s3Course = new Course[3];
            s3Course[0] = new Course("数据结构", 70);
            s3Course[1] = new Course("数据库", 90);
            s3Course[2] = new Course("软件工程", 20);
            Student s3 = new Student("张三", s3Course);

            Student[] students = { s1, s2, s3 };
            Student s = Student.WhoIsBest(students);
            Console.WriteLine("最佳的学生:{0}", s.GetInfo());
        }
    }
    //课程类
    class Course
    {
        private string courseName;
        public string CourseName
        {
            get { return courseName; }
            set { courseName = value; }
        }
        private int grade;
        public int Grade
        {
            get { return grade; }
            set { grade = value; }
        }
        public Course(string courseName, int grade)
        {
            this.courseName = courseName;
            this.grade = grade;
        }
    }
    //学生类
    class Student
    {
        private string studentName;
       
        private Course[] course;//课程类数组
        public Student(string studentName, Course[] course)
        {
            this.studentName = studentName;
            this.course = course;
        }
        //求分数总分方法
        public int CourseGradeSum()
        {
            int sum = 0;
            for (int i = 0; i < course.Length; i++)
            {
                sum += course[i].Grade;
            }
            return sum;
        }
        public static Student WhoIsBest(Student[] stu)//学生数组
        {
            int maxGrade = 0;
            int index = -1;
            for (int i = 0; i < stu.Length; i++)
            {
                if (stu[i].CourseGradeSum() > maxGrade)
                {
                    maxGrade = stu[i].CourseGradeSum();
                    index = i;
                }
            }
            return stu[index];
        }
        public string GetInfo()
        {
            return "学生姓名:" + studentName + "总分:" + CourseGradeSum().ToString();
        }
    }

结果

在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
C#.net实现学生成绩管理系统 namespace 学生成绩管理系统 { partial class Formlogin { /// /// 必需的设计器变量。 /// private System.ComponentModel.IContainer components = null; /// /// 清理所有正在使用的资源。 /// /// 如果应释放托管资源,为 true;否则为 false。 protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Windows 窗体设计器生成的代码 /// /// 设计器支持所需的方法 - 不要 /// 使用代码编辑器修改此方法的内容。 /// private void InitializeComponent() { this.labeluser = new System.Windows.Forms.Label(); this.textBoxuser = new System.Windows.Forms.TextBox(); this.labelcode = new System.Windows.Forms.Label(); this.textBoxcode = new System.Windows.Forms.TextBox(); this.buttonin = new System.Windows.Forms.Button(); this.buttonout = new System.Windows.Forms.Button(); this.SuspendLayout(); // // labeluser // this.labeluser.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.labeluser.Location = new System.Drawing.Point(31, 50); this.labeluser.Name = "labeluser"; this.labeluser.Size = new System.Drawing.Size(55, 26); this.labeluser.TabIndex = 0; this.labeluser.Text = "用户名"; this.labeluser.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // // textBoxuser // this.textBoxuser.Location = new System.Drawing.Point(126, 55); this.textBoxuser.Name = "textBoxuser"; this.textBoxuser.Size = new System.Drawing.Size(112, 21); this.textBoxuser.TabIndex = 1; // // labelcode // this.labelcode.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.labelcode.Location = new System.Drawing.Point(31, 124); this.labelcode.Name = "labelcode"; this.labelcode.Size = new System.Drawing.Size(55, 23); this.labelcode.TabIndex = 2; this.labelcode.Text = "密码"; this.labelcode.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // // textBoxcode // this.textBoxcode.Location = new System.Drawing.Point(126, 124); this.textBoxcode.Name = "textBoxcode"; this.textBoxcode.PasswordChar = '*'; this.textBoxcode.Size = new System.Drawing.Size(112, 21); this.textBoxcode.TabIndex = 3; // // buttonin // this.buttonin.Location = new System.Drawing.Point(34, 200); this.buttonin.Name = "buttonin"; this.buttonin.Size = new System.Drawing.Size(75, 23); this.buttonin.TabIndex = 4; this.buttonin.Text = "登陆"; this.buttonin.UseVisualStyleBackColor = true; this.buttonin.Click += new System.EventHandler(this.buttonin_Click); // // buttonout // this.buttonout.Location = new System.Drawing.Point(163, 200); this.buttonout.Name = "buttonout"; this.buttonout.Size = new

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值