面向对象1

  今天,首先我把之前学习的结构体的内容进行了一下复习,通过一个小的实例。

  

项目要求:
一、连续输入5个学生的信息,每个学生都有以下4个内容:
1、序号 - 根据输入的顺序自动生成,不需要手动填写,如输入第一个学生的序号是1,第二个是2,以此类推
2、学号 - 必填,如:S001,S002... 以此类推
3、姓名 - 必填
4、成绩 - 大于等于0,小于等于100

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

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

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

 

class student
{
public int number;
public string code;
public string name;
public decimal score;
}

//1.添加学生信息
#region
ArrayList al=new ArrayList();//放置全部学生信息的集合

Console.WriteLine("请输入班级人数:");
int n=int.Parse(Console.ReadLine());
for (int i = 1; i <= n;i++ )
{
student s = new student();
s.number = i;
#region 学生学号输入
while(true)
{
Console.WriteLine("请输入第{0}个学生的学号:",i);
s.code = Console.ReadLine();
if(s.code=="")
{
Console.WriteLine("学号不能为空!");
}
else
{
break;
}
}
#endregion
#region 学生姓名输入
while (true)
{
Console.WriteLine("请输入第{0}个学生的姓名:", i);
s.name = Console.ReadLine();
if (s.name == "")
{
Console.WriteLine("姓名不能为空!");
}
else
{
break;
}
}
#endregion
#region 学生成绩输入
while (true)
{
Console.WriteLine("请输入第{0}个学生的成绩:",i);
try
{
s.score = int.Parse(Console.ReadLine());
if(s.score>=0&&s.score<=100)
{
break;
}
else
{
Console.WriteLine("成绩必须在0~100之间!");
}
}
catch
{
Console.WriteLine("成绩输入有误!请输入数字!");
}
}
#endregion
al.Add(s);
Console.WriteLine("-----------------------------------------------");
}
#endregion
//2.冒泡排序
#region 冒泡排序
for (int i = 0; i < al.Count-1;i++ )
{
for (int j = i + 1; j < al.Count;j++ )
{
student s1=(student)al[i];
student s2=(student)al[j];
if(s1.score<s2.score)
{
student zhong=(student)al[i];
al[i] = al[j];
al[j] = zhong;
}
}
}
#endregion
//3.输出
#region 打印显示
Console.WriteLine("==============学生成绩展示===============");
Console.WriteLine("序号 学号 姓名 成绩");
for (int i = 0; i < al.Count; i++)
{
student ss=(student)al[i];
Console.WriteLine(ss.number+" "+ss.code+" "+ss.name+" "+ss.score);
}
#endregion
Console.ReadLine();

  接下来,我学习了面向对象的思想。

  面向对象有三大特性:封装性、继承性、多态性。面向对象就是将现实生活中的实际存在的东西,抽象提取成程序中的类,对类进行统一的操作,它都是以“类”为基本单元。

  利用面向对象,可以让程序的结构非常清晰;易于维护,便于功能扩展;让程序更加健壮。

  类主要包括两部分内容:用户定义的成员变量,以及由C#中的函数构成的成员方法。

  我所理解的面向对象是,世间的万事万物都可以将其看为一个对象。假如我们将一个公司看为一个对象,它之下的人事部、销售部、策划部等多个部门都可以看成是其中的类,每一个类负责自己部门相应的职能,各个部门之间相互独立。当某一个部门出现问题时,只需要去找相应的部门即可,其它部门没有任何责任。这样做,避免了很多重复的工作,大大提高了工作的效率。

posted @ 2016-09-07 14:27  兔小灰385  阅读(119)  评论(0编辑  收藏  举报