C#Lesson05

2021-03-15 17:28发布

C#基础 第五天

namespace Lesson05
{

    //枚举又称为一一列举,把要取的值列举出来,然后在列举的值里面选择要赋的值
    //枚举一般定义在类的外面,语法格式:enum 枚举类型名[值1,值2....];
    //enum是关键字,用来定义一个枚举类型,自定义的类型名字首字母均要大写

        //系统会给枚举值赋一个默认的int类型的值,第一个枚举值为0,第二个为1,以此类推,因此枚举值和int类型的值之间可以进行转换
        //可以根据解决问题的实际需求,人为的更改枚举值
    enum Sex
    {
        男,
        女=1
    }
    enum Season
    {
        春,
        夏,
        秋,
        冬
          
    }
    enum Motion
    {
        摇头,
        举手,
        走路,
        跑步,
        健身
    }
    enum Department
    {
        市场部=800,
        财务部=900,
        后勤部=1000
    }
    enum LP
    {
        Normal,
        Magic
    }
    enum State
    {
        开始游戏,
        暂停游戏,
        结束游戏
    }
  
    struct PersonInfo
    {
        //public是访问修饰符,它规定了结构体或者类里面成员的访问权限,结构体里面的变量和方法统一称为结构体的成员,变量称为字段,public所修饰的成员,访问不受限制

        public string name;
        public Sex sex;
        public int age;
        public string address;
    }
    struct Students
    {
        public string name;
        public int age;
        public int number;
        public double score;
    }

    struct Tool
    {
        //public表示该成员是公有的,访问不受限制,即在结构体或者类的内部和外部均可以被访问
        public double Pi;
        //private表示该成员是私有的,只能在结构体或者类里面的内部访问,外部不可被访问
        //在结构体或者类的里面,成员前面不加任何访问修饰符,该成员默认是私有的
        private double radius;
    }
    //练习:定义一年四季的枚举
    //定义人的动作的枚举
    class Program
    {
        static void Main(string[] args)
        {

            #region 枚举
            //int count = int.Parse(Console.ReadLine());
            //int a = 10;
            //Sex sex = Sex.女;
            //Sex sex1 = Sex.男;
            ////枚举有自注释的作用
            //Season seas = (Season)count;
            //Season sea = Season.秋;
            //Console.WriteLine((int)sex);

            //Console.WriteLine((Season)3);
            //要求:从键盘输入1,打印春天,输入2,打印夏天,输入3,打印秋天,输入4,打印冬天
            //int c = int.Parse(Console.ReadLine());
            //switch (c)
            //{
            //    case 1:
            //        Console.WriteLine("春天");
            //        break;
            //    case 2:
            //        Console.WriteLine("夏天");
            //        break;
            //    case 3:
            //        Console.WriteLine("秋天");
            //        break;
            //    case 4:
            //        Console.WriteLine("冬天");
            //        break;
            //    default:
            //        Console.WriteLine("输入错误,请重新输入!!");
            //        break;
            //}
            //int number = int.Parse(Console.ReadLine());
            //int hp = 100;
            //hp -= (int)LP.Magic;
            //hp -= (int)LP.Normal;
            //Department dep = (Department)number;
            //switch (dep)
            //{
            //    case Department.市场部:
            //        break;
            //    case Department.财务部:
            //        break;
            //    case Department.后勤部:
            //        break;
            //    default:
            //        break;
            //}
            //switch (seas)
            //{
            //    case Season.春:
            //        break;
            //    case Season.夏:
            //        break;
            //    case Season.秋:
            //        break;
            //    case Season.冬:
            //        break;
            //    default:
            //        break;
            //}

            //int count = int.Parse(Console.ReadLine());
            //State sta=(State)count;
            //switch (sta)
            //{
            //    case State.开始游戏:
            //        break;
            //    case State.暂停游戏:
            //        break;
            //    case State.结束游戏:
            //        break;
            //    default:
            //        break;
            //}
            #endregion

            #region 结构体
            //需求:描述一个人的特
            //string name = "zhangsan";
            //Sex sex = Sex.男;
            //int age = 20;
            //string address = "beijing";
            //PersonInfo zhangsan;
            //PersonInfo lisi;
            //使用点运算符,点出结构体或者类里面的成员
            //zhangsan.name = "zhangsan";
            //zhangsan.address = "北京市";
            //zhangsan.age = 20;
            //zhangsan.sex = Sex.男;
            //lisi.name = "zhangsan";
            //lisi.address = "南京市";
            //lisi.age = 22;
            //lisi.sex = Sex.男;
            //结构体作为一个整体不能直接参与运算
            //int[] a;
            //PersonInfo[] infos = {zhangsan,lisi };
            //for (int i = 0; i < infos.Length; i++)
            //{
            //    Console.WriteLine("{0},{1},{2},{3}", infos[i].name, infos[i].age, infos[i].address, infos[i].sex);
            //}

           //1.创建学生结构体,包含姓名、年龄、学号、分数等信息,并赋予其值,输出结构体成员的值

             2.有5名学生保存在结构体数组中,编程找出分数最高者,输出该学生的全部信息

             3.对上述5名学生数组按年龄由小到大进行排序,并输出
            //Students stu1;
            //stu1.name = "zhangsan";
            //stu1.age = 20;
            //stu1.number = 01;
            //stu1.score = 78;
            //Students stu2;
            //stu2.name = "lisi";
            //stu2.age = 21;
            //stu2.number = 03;
            //stu2.score = 46;
            //Students stu3;
            //stu3.name = "wangwu";
            //stu3.age = 25;
            //stu3.number = 02;
            //stu3.score = 80;
            //Students stu4;
            //stu4.name = "zhaoliu";
            //stu4.age = 24;
            //stu4.number = 06;
            //stu4.score = 90;
            //Students stu5;
            //stu5.name = "yangqi";
            //stu5.age = 22;
            //stu5.number = 09;
            //stu5.score = 60;
            //Students[] stu = { stu1,stu2,stu3,stu4,stu5};
            //foreach (Students item in stu)
            //{
            //    Console.WriteLine("学生的姓名:{0,-10},学生的年龄:{1,-3},学生的学号:{2,-5},学生的分数:{3,-5}",item.name,item.age,item.number,item.score);
            //}
            //Students max=stu[0];
            //double maxScore = stu[0].score;
            //for (int i = 0; i < stu.Length; i++)
            //{
            //    if (maxScore<stu[i].score)
            //    {
            //        max = stu[i];
            //    }
            //}
            //Console.WriteLine("该学生的姓名是:{0,-10},该学生的年龄是:{1,-3},该学生的学号是:{2,-5},该学生的分数是:{3,-5}",max.name,max.age,max.number,max.score);
            //for (int i = 0; i < stu.Length-1; i++)
            //{
            //    for (int j = 0; j < stu.Length-1-i; j++)
            //    {
            //        if (stu[j].age>stu[j+1].age)
            //        {
            //            Students temp = stu[j];
            //            stu[j] = stu[j + 1];
            //            stu[j + 1] = temp;
            //        }
            //    }
            //}
            //foreach (Students item in stu)
            //{
            //    Console.WriteLine("学生的姓名:{0,-10},学生的年龄:{1,-3},学生的学号:{2,-5},学生的分数:{3,-5}", item.name, item.age, item.number, item.score);
            //}
            #endregion