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