menu 二七小站
用C#做一个没啥用的选择题
122 浏览 | 2020-04-08 | 阅读时间: 约 1 分钟 | 分类: 代码教程,学习日常 | 标签:
请注意,本文编写于 88 天前,最后修改于 73 天前,其中某些信息可能已经过时。

整体来说这个是没啥意义的,主要就是让你更加熟悉面向对象。

这个分三部分做:

1.选项类
2.题目类
3.最后输出
ps:这里的类指class


先来选项类

class Item
{
    //选项
    public string Title { get; set; }
    //选项内容
    public string Content { get; set; }
    //定义个方法,到时候传入选项和内容
    public Item(string title, string content)
    {
        Title = title;
        Content = content;
    }
    //用ToString()方法把选项和内容返回出来
    public override string ToString()
    {
        return Title + ":" + Content;
    }
}

然后写题目类

class Section
{
    //题号
    public int Num { get; set; }
    //分值
    public int Mark { get; set; }
    //题目内容
    public string Content { get; set; }
    //答案选项
    public string Answer { get; set; }

    //下面4个就是选项ABCD
    public Item ItemA { get; set; }
    public Item ItemB { get; set; }
    public Item ItemC { get; set; }
    public Item ItemD { get; set; }
    //不多解释,构造方法传入值
    public Section(int num, int mark, string content, string answer, Item itemA, Item itemB, Item itemC, Item itemD)
    {
        Num = num;
        Mark = mark;
        Content = content;
        Answer = answer;
        ItemA = itemA;
        ItemB = itemB;
        ItemC = itemC;
        ItemD = itemD;
    }

    //用ToString()方法把题号、题目、分值、答案、选项返回出去
    public override string ToString()
    {
        return Num + "、" + Content + "(分数:" + Mark + ")(答案:" + Answer + ")\n" + ItemA + "\n" + ItemB + "\n" + ItemC + "\n" + ItemD+"\n";
    }
}

最后一步,输出

//下面四个就是自己定义的选项及内容
Item item1A = new Item("A", "周作人,浙江绍兴");
Item item1B = new Item("B", "周树人,湖南湘潭");
Item item1C = new Item("C", "周树人,浙江绍兴");
Item item1D = new Item("D", "周作人,湖南湘潭");

//这个传入题号、分值、题目内容、正确答案以及刚定义的4个选项
Section sec1 = new Section(1, 4, "鲁迅原名___,____人。", "C", item1A, item1B, item1C, item1D);

//最后用ToString()方法输出,不用也行,会自动调用
Console.WriteLine(sec1.ToString());

输出效果图:


当然,你如果想做成一问一答然后出分数的效果,只要把输出的答案去掉,用Console.ReadLine();获取输入的答案,在和正确的答案做对比,然后输出分数即可。
如果题量大的话,码的代码也很多,但是选项和题目的方法是不用变得,通用,同时也体现出了面向对象的特点:"易复用,复用率高"。

转载请标明出处

发表评论

email
web

全部评论 (共 1 条评论)

    =
    2020-04-08 20:56
    (ó﹏ò。)