C#类的用法
2014-01-10 14:37
232 查看
本文将由一个小例子来说明类的使用。
假如:一个班有5个学生,每个学生有5门课,课程都相同。信息如下:
姓名 学号 第一门分数 第二门分数 第三门分数 第四门分数 第五门分数
“张三” 1 55 70 67 89 66
“李四” 2 78 69 90 88 94
“王五” 3 88 54 55 67 97
“赵六” 4 77 56 45 77 69
“小飞” 5 89 97 88 91 90
要求:
输出每个人的基本信息、第一门课的平均成绩、每个人的平均成绩、挂科超过两门的学生姓名、学号,杰出学生的姓名(平均分大于或等于90,或者没挂科)。
假如:一个班有5个学生,每个学生有5门课,课程都相同。信息如下:
姓名 学号 第一门分数 第二门分数 第三门分数 第四门分数 第五门分数
“张三” 1 55 70 67 89 66
“李四” 2 78 69 90 88 94
“王五” 3 88 54 55 67 97
“赵六” 4 77 56 45 77 69
“小飞” 5 89 97 88 91 90
要求:
输出每个人的基本信息、第一门课的平均成绩、每个人的平均成绩、挂科超过两门的学生姓名、学号,杰出学生的姓名(平均分大于或等于90,或者没挂科)。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication3 { class Program { class student { public student(string xm, int nb, double[] sco)//带参数的构造函数 : base() { name = xm; num = nb; score = sco; } string name; int num; double[] score; public string Name//Name只读属性 { get { return name; } } public int Num//Num只读属性 { get { return num; } } public double[] Score//Score[]只读属性 { get { return score; } } public double average()//求学生平均成绩的动态方法,需要实例化来使用 { double ave, sum = 0.00; int i; for (i = 0; i < 5; i++) sum += score[i]; ave = sum / 5; return ave; } public void outputfailure()//输出两门以上挂科学生的信息的动态方法,需要实例化来使用 { int i, flag = 0; for (i = 0; i < 5; i++) { if (score[i] < 60) flag = flag + 1; } if (flag >= 2) Console.Write("{0},{1}号\n", name, num); } public int failure()//求学生的挂科数目 { int i,count=0; for(i=0;i<5;i++) count++; return count; } public string outstanding()//求杰出学生的动态方法 { if ((average() >= 90) || failure() == 0) return name; else return null; } } static void Main(string[] args) { int i; double ave,sum=0.00; double[] s1= new double[]{55,70,67,89,66}; double[] s2 = new double[]{78,69,90,88,94}; double[] s3 = new double[]{88,54,55,67,97}; double[] s4 = new double[]{77,56,45,77,69}; double[] s5 = new double[]{89,97,88,91,90}; student[] stu={new student("张三",1,s1),new student("李四",2,s2),new student("王五",3,s3), new student("赵六",4,s4),new student("小飞",5,s5)}; for(i=0;i<5;i++) { Console.WriteLine("姓名:{0},学号:{1},各科成绩:{2} {3} {4} {5} {6}", stu[i].Name,stu[i].Num,stu[i].Score[0], stu[i].Score[1], stu[i].Score[2], stu[i].Score[3], stu[i].Score[4]); } Console.WriteLine("\n"); for(i=0;i<5;i++) sum += stu[i].Score[0]; ave = sum / 5; Console.WriteLine("第一门课的平均成绩:{0}",ave); Console.Write("\n"); for (i = 0; i < 5; i++) Console.WriteLine("{0}号学生的平均成绩:{1} ",i+1, stu[i].average()); Console.Write("\n"); Console.Write("有两门以上挂科的学生:\n"); for(i=0;i<5;i++) stu[i].outputfailure(); Console.Write("\n"); Console.Write("杰出学生有:\n"); for(i=0;i<5;i++) Console.Write("{0} ",stu[i].outstanding()); Console.Read(); } } }
相关文章推荐
- C# String.Format用法和格式说明
- 解析C#中is和as操作符的用法
- c#中反射的用法(即如何根据字符找到已定义的变量)
- C# DateTime的各种接口用法记录
- c# asp.net ajax 用法一例
- C# WinForm TreeView用法总结
- c# FileStream和StreamWriter用法
- 总结 @在C#中的用法
- .Net/C#中Cache的用法
- 在C#new 的用法
- C# SplitContainer 控件详细用法
- C#中反射用法---根据一个字符串,例如“TextBox
- C#中一些字符串操作的常用用法
- c# 中sealed的用法
- C#中while循环语句用法实例详解
- C#中comboBox控件的一些基本用法小结
- C#中base关键字的几种用法
- 【转】C# DllImport的用法(经典!)
- 1. C# -- Switch 用法
- C# DateTime.Now详细用法