【2017-12-13】c#基础-结构体、枚举

结构体:

定义位置:定义在Main函数的外面,类的里面

定义格式:

struct Student
{
  public string  name;
  public bool sex;
  ...
}

声明实例化:Student s=new Student();

赋值:s.name="张三";s.sex=true;

取值:string zsxm=s.name;

 

枚举:

定义位置:定义在Main函数的外面,类的里面

定义格式:

enum Week
{
  星期一,
  星期二,
  星期三,
  星期四,
  星期五,
  星期六,
  星期日
}

取值:Week w=Week.星期一;

 

练习:

1.“请输入录入学生的个数:”

(记录学生信息,需要获取输入)

“请输入第1个学生的学号”
“请输入第1个学生的姓名”
“请输入第1个学生的生日”
“请输入第1个学生的成绩”

打印格式如下:
================学生信息展示===================
s001 张三 2000年1月1日 17 90(成绩从大到小排列)
s002 李四 2000年1月1日 17 80
。。。

 1     class Program
 2     {
 3         struct Student
 4         {
 5             public string no;
 6             public string name;
 7             public DateTime birthday;
 8             public double score;
 9         }
10        
11         static void Main(string[] args)
12         {
13             #region 录入学生信息
14             Console.Write("请输入录入学生个数:");
15             int n =Convert.ToInt32(Console.ReadLine());
16             Console.WriteLine();
17             List<Student> slist = new List<Student>();
18             for (int i = 0; i < n; i++)
19             {                
20                 Student s = new Student();
21                 Console.Write("请输入第" + (i + 1) + "个学生的学号:");
22                 s.no = Console.ReadLine();
23                 Console.Write("请输入第" + (i + 1) + "个学生的姓名:");
24                 s.name = Console.ReadLine();
25                 Console.Write("请输入第" + (i + 1) + "个学生的生日:");
26                 s.birthday =Convert.ToDateTime(Console.ReadLine());
27                 Console.Write("请输入第" + (i + 1) + "个学生的分数:");
28                 s.score =Convert.ToDouble(Console.ReadLine());
29                 Console.WriteLine();
30                 slist.Add(s);
31             }
32             #endregion
33             
34             #region 冒泡排序算法
35             for (int i = 0; i < slist.Count; i++)
36             {
37                 for (int j = i + 1; j < slist.Count; j++)
38                 {
39                     if (slist[i].score < slist[j].score)
40                     {
41                         Student s = new Student();
42                         s = slist[i];
43                         slist[i] = slist[j];
44                         slist[j] = s;
45                     }
46                 }
47             }
48             #endregion
49 
50             #region 信息显示
51             Console.WriteLine("================学生信息展示===================");
52             Console.WriteLine();
53             foreach (Student s in slist)
54             {              
55                 Console.WriteLine(s.no+"  "+s.name+ "  " + s.birthday.ToString("yyyy年MM月dd日")+ "  " +(DateTime.Now.Year-s.birthday.Year)+ "  " + s.score);
56             }
57             #endregion
58 
59             Console.ReadLine();
60 
61 
62         }
63     }

 

posted @ 2017-12-13 13:28  Int64  阅读(162)  评论(0编辑  收藏  举报