zoukankan      html  css  js  c++  java
  • C#复习、面向对象阶段开始

    C#复习:
    在控制台程序中使用结构体、集合,完成下列要求
    项目要求:
    一、连续输入5个学生的信息,每个学生都有以下4个内容:
    1、序号 - 根据输入的顺序自动生成,不需要手动填写,如输入第一个学生的序号是1,第二个是2,以此类推
    2、学号 - 必填,如:S001,S002... 以此类推
    3、姓名 - 必填
    4、成绩 - 大于等于0,小于等于100

    以上内容必须按照要求填写,请写好相应的验证,如果没填写正确,则让用户重复填写到正确为止

    二、5个学生信息都输入完毕后,按照分数从高到低的顺序将学生信息展示出来
    显示格式如下:

    ==============学生成绩展示=================
    序号 学号 姓名 成绩
    3 S003 张三 100
    1 S001 李四 99
    2 S002 王五 98
    ...
    ...

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Collections;
    
    namespace ConsoleApplication3
    {
        class Program
        {
            struct student
            {
                public int code;
                public string xuehao;
                public string name;
                public double score;
            }
            static void Main(string[] args)
            {
                ArrayList al =new ArrayList();
                student st =new student();
                int biao = 0;
                for (int i = 0; i < 5; i++)
                {
                    int biao1 = 0;
                    st.code = i+1;
                    for (; ; )
                    {
                        Console.Write("请输入第{0}个学生的学号:", i + 1);
                        string xh = Console.ReadLine();
                        if (xh != ""&&xh!=" "&&xh!="  ")
                        {
                            if (biao == 0)
                            {
                                st.xuehao = xh;
                                biao1 = 1;
                                break;
                            }
                            else
                            {
                                for (int k = 0; k < biao; k++)
                                {
                                    if (((student)al[k]).xuehao == xh)
                                    {
                                        Console.WriteLine("学号输入重复,请重新输入!");
                                        break;
                                    }
                                    else
                                    {
                                        if (k == biao - 1)
                                        {
                                            st.xuehao = xh;
                                            biao1 = 1;
                                            break;
                                        }
                                        else
                                        {
                                            continue;
                                        }
                                    }
                                }
                            }
                        }
                        else
                        {
                            Console.WriteLine("输入学号不能为空,请重新输入!");
                        }
                        if (biao1 == 1)
                        {
                            break;
                        }
                    }
                    for (; ; )
                    {
                        Console.Write("请输入第{0}个学生的姓名:", i + 1);
                        string name = Console.ReadLine();
                        if (name != ""&&name!=" "&&name!="  ")
                        {
                            st.name = name;
                            break;
                        }
                        else
                        {
                            Console.WriteLine("输入姓名不能为空,请重新输入!");
                            continue;
                        }
                    }
                    for (; ; )
                    {
                        Console.Write("请输入第{0}个学生的成绩:", i + 1);
                        try
                        {
                            double b = double.Parse(Console.ReadLine());
    
                            if (b >= 0 && b <= 100)
                            {
                                st.score = b;
                                break;
                            }
                            else
                            {
                                Console.WriteLine("输入成绩有误,请重新输入:");
                                continue;
                            }
                        }
                        catch
                        {
                            Console.WriteLine("成绩输入有误,请重新输入!");
                            continue;
                        }
                    }
                    al.Add(st);
                    biao++;
                }
                for (int m = 0; m < 4;m++ )
                {
                    for (int n = m; n <5; n++)
                    {
                        if (((student)al[m]).score < ((student)al[n]).score)
                        {
                            object zhong = al[m];
                            al[m] = al[n];
                            al[n] = zhong;
                        }
                    }
                }
                Console.WriteLine("序号" + "	" + "学号" + "	" + "姓名" + "	" + "成绩");
                for (int i = 0; i < 5;i++ )
                {
                    Console.WriteLine(((student)al[i]).code + "	" + ((student)al[i]).xuehao + "	" + ((student)al[i]).name + "	" + ((student)al[i]).score);
                }
    
    
    
    
    
    
    
    
                Console.ReadLine();
            }
        }
    }

    面向对象:

    面向对象不是一种实质性的东西,而是一种编程思想,较为抽象。

    面向对象里面,最重要的东西就是对象。

    对象一定程度上可以理解为类,简而言之说多了都是类,或者万物皆对象。

    比如说结构体,我们把一个学生的学号 姓名 性别 年龄 成绩等信息放入一个结构体,这个结构体可以看做是一个对象,代表着这个学生的信息。

    又好比说所有生物可以分为动物和植物,动物和植物可以继续往下分,这其中的每一个“标签”——比如哺乳动物、海洋生物,都可以拿出来作为一个类,也就是一个对象。

    面向对象有三大特性,也可以说是类的特点:

    封装(类似打包)

    继承(子级继承父级的属性)

    多态(子级拥有与其他同级子级不同的属性,也就是特点)

  • 相关阅读:
    4、CreateJS介绍-PreLoadJS
    3、CreateJS介绍-SoundJS
    洛谷 题解 UVA1151 【买还是建 Buy or Build】
    算法详解之拓扑排序
    算法详解之缩点
    洛谷 题解 P3627 【[APIO2009]抢掠计划】
    板娘脚本
    2019.6.20义乌测试赛自我成绩分析
    洛谷 题解 P1225 【黑白棋游戏】
    洛谷 题解 P1908 【逆序对】
  • 原文地址:https://www.cnblogs.com/wt627939556/p/6098198.html
Copyright © 2011-2022 走看看