用C#编写5个关于考试的5个类,考试信息管理

2.考试信息管理

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

(2)创建至少5个与考试有关的类

(3)完成考试成绩的录入、统计等功能

(4)测试要求:测试程序中用到的面向对象特性。

<span style="font-size:32px;color:#ff0000;">1.主函数</span>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TestManage
{
    public class Program
    {
       public  static void Main(string[] args)
        {
           Menu me = new Menu();
           me.caidan();
           Console.ReadLine();
        }
    }
}
<span style="font-size:32px;color:#ff0000;">2.第一个类菜单类</span>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TestManage
{
    public class Menu
    {
        public void caidan()
        {
            Input pu = new Input();//成绩录入
            MaxScore ms = new MaxScore();//每门课最高分
            MinScore mi = new MinScore();//每门课最低分
            EveryAvg av = new EveryAvg();//每门课平均分
            Allavg al = new Allavg();//总课程的平均分
            AllavgOrder ao = new AllavgOrder();//按总课程平均分排序
            Show sh = new Show();//显示各科成绩
             for (int m = 0; ; m++)
            {
            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("=========================================");
                Console.WriteLine("请输入你要执行的项目序号:");
                int k = int.Parse(Console.ReadLine());
                if (k == 8) { break; }
                else
                {
                    switch (k)
                    {
                        case 1: pu.luru(); break;
                        case 2:
                            Console.Clear();
                            ms.max(); break;
                        case 3:
                            Console.Clear();
                            mi.min(); break;
                        case 4:
                            Console.Clear();
                            av.avg(); break;
                        case 5:
                            Console.Clear();
                            al.allavg(); break;
                        case 6:
                            Console.Clear();
                            ao.allavgpaixu(); break;
                        case 7:
                            Console.Clear();
                            sh.xianshi(); break;
                    }
                }
            }
        }
    }
}
<span style="font-size:32px;color:#ff0000;">3.成绩录入类</span>

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

namespace TestManage
{
    public  class Input
    {
        public static int N { get; set; }
        public static int F { get; set; }
        public static double[] allavg2 { get; set; }
        public static double[,] score { get; set; }
        public Input()
        {
            N = 2;//人数
            F = 3;//课的数目
            allavg2 = new double[N];
            score = new double[N, F];
        }
        public   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());
                }
            }
        }
    }
}
<span style="font-size:32px;color:#ff0000;">4.每门课最高分类</span>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TestManage
{
    public class MaxScore:Input
    {
        public 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]);
            }
        }
    }
}
<span style="font-size:32px;color:#ff0000;">5.每门课最低分类</span>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TestManage
{
    public class MinScore:Input
    {
        public 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]);
            }
        }
    }
}
<span style="font-size:32px;color:#ff0000;">6.每门课评价分类</span>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TestManage
{
    public class EveryAvg:Input
    {
        public 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 / N;
                sum = 0;
                Console.WriteLine("课程" + (j + 1) + "的平均分为" + avg);
            }
        }
    }
}

<span style="font-size:32px;color:#ff0000;">7.总课程平均分类</span>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TestManage
{
    public class Allavg:Input
    {
        public 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 / F;
                sum = 0;
            }
            for (int k = 0; k < 10; k++)
            {
                try
                {
                    Console.WriteLine("学号为   " + (k + 1) + "的平均成绩为" + allavg2[k]);
                }
                catch(Exception ex)
                { }
            }
        }
    }
}
<span style="font-size:32px;color:#ff0000;">8.按总课程平均排序类</span>

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

namespace TestManage
{
    public class AllavgOrder : Input
    {
        public void allavgpaixu()
        {
            for (int j = 0; j < 9; j++)
            {
                for (int k = 0; k < 9 - j; k++)
                {
                    try
                    {
                        if (allavg2[k] < allavg2[k + 1])
                        {
                            double temp;
                            temp = allavg2[k];
                            allavg2[k] = allavg2[k + 1];
                            allavg2[k + 1] = temp;
                        }
                    }
                    catch (Exception ex)
                    {  }
                }
            } Console.WriteLine("对平均成绩排序为");
            for (int j = 0; j < 10; j++)
            {
                try
                {
                    Console.WriteLine(allavg2[j]);
                }
                catch (Exception ex) { }
            }
        }
    }
}
<span style="font-size:32px;color:#ff0000;">9.显示各科成绩类</span>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TestManage
{
    public class Show:Input
    {
        public void xianshi()
        {
            Console.WriteLine("学号 课程1 课程2 课程3");
            for (int j = 0; j < 10; j++)
            {
                try
                {
                    Console.WriteLine(j + "     " + score[j, 0] + "    "
                         + score[j, 1] + "    " + score[j, 2]);
                }
                catch (Exception ex)
                { Console.WriteLine(ex.Message); }
            }
        }
    }
}
时间: 2024-11-09 18:01:10

用C#编写5个关于考试的5个类,考试信息管理的相关文章

全国计算机等级考试二级C语言程序设计考试大纲(2013年版)

转自:http://www.freencre.com/c2_artde_28.html 基本要求 1. 熟悉Visual C++6. 0集成开发环境. 2. 掌握结构化程序设计的方法,具有良好的程序设计风格. 3. 掌握程序设计中简单的数据结构和算法并能阅读简单的程序. 4. 在Visual C++6. 0集成环境下,能够编写简单的C程序,并具有基本的纠错和调试程序的能力. 考试内容 一.C语言程序的结构 1. 程序的构成,main函数和其他函数. 2. 头文件,数据说明,函数的开始和结束标志以

金融类考试难度分析(FRM、CFA、CFP、CIIA、CPA、ACCA)

首先,CIIA包括的是六个部分,而CFA包括的是十个部分,你可以到17CFA论坛上面具体的了解下CFA,CIIA的话是中国的北京上海深圳有考,CFA的话是上海,广州,北京,南京,成都有考!这里比较杂!CFA对于金融的涵盖面较大!分为三个级别!每年六月一二三级考试,十二月是1级考试!按照现在的人才需求量以及认可度的话,CFA远远大于CIIA CFA资格证书被授予广泛的各个投资领域内的专业人员,包括基金经理.证券分析师.财务总监.投资顾问.投资银行家.交易员等等. CIIA证书持有者适合从事经纪行业

全国计算机等级考试二级Java语言程序设计考试大纲(2013年版)

转自: 全国计算机等级考试,计算机二级,免费培训,免费视频教程,永久免费,免费培训IT  基本要求 1.掌握Java语言的特点.实现机制和体系结构. 2.掌握Java语言中面向对象的特性. 3.掌握Java语言提供的数据类型和结构. 4.掌握Java语言编程的基本技术. 5.会编写Java用户界面程序. 6.会编写Java简单应用程序. 7.会编写Java小应用程序(Applet). 8.了解Java语言的广泛应用.    考试内容  一.Java语言的特点和实现机制 二.Java体系结构 1.

全国计算机技术与软件专业技术资格(水平)考试【软件评测师】-考试内容总结(一)计算机系统构成及硬件基础知识

全国计算机技术与软件专业技术资格(水平)考试 软件评测师--考试内容总结       By林雨辰2014.11.08 1.计算机系统构成及硬件基础知识 1.1计算机系统的构成 1.1.1设计电子数字计算机的一些基本思想 设计电子数字计算机的一些基本思想: (1)由运算器.控制器.存储器.输入设备.输出设备5大基本部件组成计算机,并规定了这5部分的基本功能. (2)采用二进制形式表示数据和指令 (3)将程序和数据事先存放在存储器中,使计算机在高速工作中能够自动高速的从存储器中取指令并执行,这就是存

USCPA考试需要准备多久:考试技巧分享

我们知道,USCPA考试资格及格分数是75分,如果差一点,对那些考74,73分的学员来说,这真是太郁闷了.不但浪费了考试费,还需要再额外的付出两,三个月的时间来回顾复习.本篇文章将会教大家5个方法,用来提高USCPA的考试分数. 方法一:周一去考试 尽可能的在周一去参加考试.因为这样你就会有充足的三天时间来做最后的冲刺复习,尽可能的记住更多的知识点.许多考试问题都会有一个短期的记忆回馈,25-30小时内的头脑记忆是一个十分巨大的优势.这个方法尤其对BEC和AUD有帮助,因为这两科的大多数题目是需

Django编写RESTful API(三):基于类的视图

欢迎访问我的个人网站:www.comingnext.cn 前言 在上一篇文章中,主要讲的是请求和响应,项目里面views.py中的视图函数都是基于函数的,并且我们介绍了@api_view这个很有用的装饰器.同时,我们还介绍了APIView这个类,但是还没使用它.在这篇文章中,我们要做的是把基于方法的视图改为基于类的视图,将会了解到APIView. 改为基于类的视图 重构一下snippets/view.py: from snippets.models import Snippet from sni

Python之编写测试用例,unittest模块中的TestCase类中的六种断言方法,以及setUp()函数。

unittest是Python自带的标准库中的模块,其中包括: 1.TestCase类 2.TestSuite类 3.TestLoader类 4.TextTestRunner类 5.TextTestResult类 下面是TestCase中的六种断言方法的测试用例. # -*- coding:UTF-8 -*- import unittestclass TestStringMethods(unittest.TestCase): def test_one(self): '''测试两个字符串是否相等'

教育-成人高等教育-函授:函授

ylbtech-教育-成人高等教育-函授:函授 函授是成人高等教育的一种学习形式,成人高等教育另外几种学习形式是业余学习(夜大)和脱产学习(全日制).函授也是一种授课的方式.属于高等教育层次的一种学习层次,主要按各专业教学计划利用寒.暑假或国定假日派教师到各地函授站组织面授和考试. 其通过国家统一的成人高考被高校录取,发放录取通知书,属国民教育系列,国家承认学历,参加全国成人高考招生统一考试,各省.自治区统一组织录取. 1.返回顶部 1. 中文名:函授 外文名:teach on correspo

项目管理者联盟PMP认证与培训班针对2015年3月考试(3月22日开课)

美国项目管理学会全球教育合作伙伴(Global REP) 国家外专局培训中心授权机构 (全面针对PMBOK第五版考试) 面向对象 各类科技与研发.IT软件与通信.工程与设计等项目导向型企业的各级管理人员与项目管理人员.项目经理与技术经理,有志于成长为项目经理的优秀工程师与技术骨干. 课程优势 十余年美国项目管理学会全球教育合作伙伴(Global R.E.P. No. 3254),2003年开始PMP培训,课程质量业界认可,服务专业.专注. 国内最强大的PMP专家团队.主讲老师具备世界500强外资