学生成绩统计管理系统

1)使用控制台程序做界面

2)一个班10个学生3门课程,3门课程学分相同

3)成绩录入,显示,每门课最高分、最低分、平均分,总课程平均分,按总课程平均分排序显示学生成绩。

4)程序一直运行,直到用户选择“退出”为止

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

namespace Experimentguanli
{
    class Program
    {
        static int N = 10;
        static int F = 3;
        static double[] allavg2 = new double[N];
        static double[,] score = new double[N, F];
        //录入函数
        public static void luru()
        {
            for (int i = 0; i < N; i++)
            {
                Console.WriteLine("请输入第" + (i + 1) + "个学生的三门成绩");
                for (int j = 0; j < F; j++)
                {
                    score[i, j] = double.Parse(Console.ReadLine());
                }
            }
        }
        //菜单函数
        public static void caidan()
        {
            Console.WriteLine("               学生成绩统计           ");
            Console.WriteLine("=========================================");
            Console.WriteLine("          1.成绩录入");
            Console.WriteLine("          2.每门课最高分");
            Console.WriteLine("          3.每门课最低分");
            Console.WriteLine("          4.每门课平均分");
            Console.WriteLine("          5.总课程的平均分");
            Console.WriteLine("          6.按总课程平均分排序");
            Console.WriteLine("          7.显示各科成绩");
            Console.WriteLine("          8.退出");
            Console.WriteLine("=========================================");
            for (int m = 0; ; m++)
            {
                Console.WriteLine("请输入你要执行的项目序号:");
                int k = int.Parse(Console.ReadLine());
                if (k == 8) { break; }
                else
                {
                    switch (k)
                    {
                        case 1: Program.luru(); break;
                        case 2:
                            Console.Clear();
                            Program.max(); break;
                        case 3:
                            Console.Clear();
                            Program.min(); break;
                        case 4:
                            Console.Clear();
                            Program.avg(); break;
                        case 5:
                            Console.Clear();
                            Program.allavg(); break;
                        case 6:
                            Console.Clear();
                            Program.allavgpaixu(); break;
                        case 7:
                            Console.Clear();
                            Program.xianshi(); break;
                    }
                } 
            Console.WriteLine("               学生成绩统计           ");
            Console.WriteLine("=========================================");
            Console.WriteLine("          1.成绩录入");
            Console.WriteLine("          2.每门课最高分");
            Console.WriteLine("          3.每门课最低分");
            Console.WriteLine("          4.每门课平均分");
            Console.WriteLine("          5.总课程的平均分");
            Console.WriteLine("          6.按总课程平均分排序");
            Console.WriteLine("          7.显示各科成绩");
            Console.WriteLine("          8.退出");
            Console.WriteLine("=========================================");
            }
        }
        //每门课的最高分
        public static void max()
        {
            for (int j = 0; j < F; j++)
            {
                int max = 0;
                for (int k = 0; k < N - 1; k++)
                {
                    if (score[max, j] < score[k + 1, j])
                    {
                        max = k + 1;
                    }
                }
                Console.WriteLine("课程" + (j + 1) + "的最高分为" + score[max, j]);
            }

        }
        //每门课的最低分
        public static void min()
        {
            for (int j = 0; j < F; j++)
            {
                int min = 0;
                for (int k = 0; k < N - 1; k++)
                {
                    if (score[min, j] > score[k + 1, j])
                    {
                        min = k + 1;
                    }
                }
                Console.WriteLine("课程" + (j + 1) + "的最高分为" + score[min, j]);
            }
        }
        //每门课的平均分
        public static void avg()
        {
            double sum = 0, avg;
            for (int j = 0; j < F; j++)
            {
                for (int k = 0; k < N; k++)
                { sum = sum + score[k, j]; }
                avg = sum / 10;
                sum = 0;
                Console.WriteLine("课程" + (j + 1) + "的平均分为" + avg);
            }
        }
        //总课程的平均分
        public static void allavg() 
        {
            double sum = 0;
            for (int j = 0; j < N; j++)
            {
                for (int k = 0; k < F; k++)
                { sum = sum + score[j,k]; }
                allavg2[j] = sum/3;
                sum = 0;
            }
            for (int k = 0; k < 10; k++)
            {
                Console.WriteLine("学号为   " + (k + 1) + "的平均成绩为" + allavg2[k]);
            }
        }
        //按总课程平均分排序
        public static void allavgpaixu()
        {
            for (int j = 0; j < 9; j++)
            {
                for (int k = 0; k < 9 - j; k++)
                {
                    if (allavg2[k] < allavg2[k + 1])
                    {
                        double temp;
                        temp = allavg2[k];
                        allavg2[k] = allavg2[k + 1];
                        allavg2[k + 1] = temp;
                    }
                }
            } Console.WriteLine("对平均成绩排序为");
            for (int j = 0; j < 10; j++)
            {
                Console.WriteLine(allavg2[j]);
            } 
        }
        //显示各科成绩
        public static void xianshi()
        {
            Console.WriteLine("学号 课程1 课程2 课程3");
            for (int j = 0; j < 10; j++)
            {
                Console.WriteLine(j + "      " + score[j, 0] + "      "
                     + score[j, 1] + "      " + score[j, 2]);
            }
        }
        static void Main(string[] args)
        {
            Program.caidan();
        }
    }
}

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值