通用学生信息管理c#程序报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

一、题目通用学生信息管理系统二、基本功能要求1.创建相应的成员变量保存学生基本信息;2.创建相应属性和索引以实现对成员变量访问的封装;3.创建相应的方法以实现对学生基本信息的管理;4.创建相应的方法以实现对学生成绩的管理;5.应用构造函数和析构函数;6.派生小学生、中学生、大学生等子类;7.运用继承、多态、重载、覆盖、接口、抽象类、代理、事件等。三、题目分析1.添加两个接口,定义成员便量如:学生姓名、性别等及科目信息;2.添加抽象类student,实现接口及定义接口内的属性成员。构造函数student()用于学生信息的赋值。添加input()方法,实现对成员变量的输入;添加show()方法和sumScore()方法对成员变量的数据输出及处理;添加一系列对于学生信息及成绩的管理的方法如changeChinese方法(修改语文成绩)等。3.定义派生类pupil,middleSchoolStu,collegeStu,并使用base关键字调用基类构造函数及添加额外的参数。在每个派生类中重写inpt(),show(),sumScore()方法便于调用;再额外添加一系列对于学生信息及成绩的管理的方法以实现在主函数中的管理功能。4.在主函数中分别实现对大学生、中学生、小学生信息的一系列的管理功能:录入、浏览、查询、删除、修改。四、功能设计基类Student实现接口IstuInformation和IstuScore;派生类pupil继承基类Student,中学生middleSchoolStu类继承pupil类,大学生collegeStu类继承middleSchoolStu类;五、源程序代码usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespacestudentInformationManagement{interfaceIstuInformation//第一个接口{stringStuName{get;set;}//接口属性,获取学生姓名stringStuSex{get;set;}//接口属性,获取学生性别stringStuAge{get;set;}//接口属性,获取学生年龄stringStuNatPlace{get;set;}//接口属性,获取学生籍贯}interfaceIstuScore//第二个接口{floatChineseScore{get;set;}//接口属性,获取学生语文成绩floatMathScore{get;set;}//接口属性,获取学生数学成绩}//定义一个实现两个接口的抽象类student(基类),不能产生任何实例publicabstractclassStudent:IstuInformation,IstuScore{//定义私有成员privatestringstuName;privatestringstuSex;privatestringstuAge;privatestringstuNatPlace;privatefloatchineseScore;privatefloatmathScore;//定义接口内的属性成员publicstringStuName//用于访问私有变量stuName的属性{get{returnstuName;}//get方法向外部返回属性成员的值set{stuName=value;}//set方法将外部写入的值用value关键字赋值给属性成员}publicstringStuSex//用于访问私有变量stuSex的属性{get{returnstuSex;}set{stuSex=value;}}publicstringStuAge//用于访问私有变量stuAge的属性{get{returnstuAge;}set{stuAge=value;}}publicstringStuNatPlace//用于访问私有变量stuNatPlace的属性{get{returnstuNatPlace;}set{stuNatPlace=value;}}publicfloatChineseScore//用于访问私有变量chineseScore的属性{get{returnchineseScore;}set{chineseScore=value;}}publicfloatMathScore//用于访问私有变量mathScore的属性{get{returnmathScore;}set{mathScore=value;}}//构造函数publicStudent(stringstuName,stringstuSex,stringstuAge,stringstuNatPlace,floatchineseScore,floatmathScore){this.stuName=stuName;//用this关键字调用当前类的成员,赋值this.stuSex=stuSex;this.stuAge=stuAge;this.stuNatPlace=stuNatPlace;this.chineseScore=chineseScore;this.mathScore=mathScore;}//析构函数~Student(){}//定义一个表示输入数据成员的虚方法publicvirtualvoidinput(){Console.WriteLine(请输入要录入的学生的基本信息和成绩:);Console.Write(姓名:);StuName=Console.ReadLine();Console.Write(性别:);StuSex=Console.ReadLine();Console.Write(年龄:);StuAge=Console.ReadLine();Console.Write(籍贯:);StuNatPlace=Console.ReadLine();Console.Write(语文:);ChineseScore=float.Parse(Console.ReadLine());Console.Write(数学:);MathScore=float.Parse(Console.ReadLine());}//定义抽象方法,具体内容在派生类中实现publicabstractvoidshow();//输出学生信息的方法publicabstractvoidsumScore();//输出学生成绩总分及平均分的方法//定义方法来对学生信息及成绩的处理publicvoidchangeStuAge(stringage)//修改学生年龄{stuAge=age;Console.WriteLine(修改成功!);}publicvoidchangeStuNatPlace(stringnation)//修改学生籍贯{stuNatPlace=nation;Console.WriteLine(修改成功!);}publicvoidchangeChinese(floatchinese)//修改学生语文成绩{chineseScore=chinese;Console.WriteLine(修改成功!);}}//继承抽象类student,形成pupil子类classpupil:Student{protectedfloatenglishScore;//构造函数,继承publicpupil(stringstuName,stringstuSex,stringstuAge,stringstuNatPlace,floatchineseScore,floatmathScore,floatenglishScore):base(stuName,stuSex,stuAge,stuNatPlace,chineseScore,mathScore)//通过base关键字调用基类构造函数{}//析构函数~pupil(){}//重写基类的虚方法,增加成员publicoverridevoidinput(){base.input();//用base关键字访问基类的input()方法Console.Write(英语:);englishScore=float.Parse(Console.ReadLine());}publicoverridevoidshow()//重写基类中的定义抽象的方法{Console.WriteLine(学生基本信息:);Console.WriteLine(姓名:{0},性别:{1},年龄:{2},籍贯:{3},StuName,StuSex,StuAge,StuNatPlace);Console.WriteLine(学生成绩信息:);Console.WriteLine(语文:{0},数学:{1},英语:{2},ChineseScore,MathScore,englishScore);}publicoverridevoidsumScore()//重写基类中的定义抽象的方法{floatsum=ChineseScore+MathScore+englishScore;floataverage=sum/3;Console.WriteLine(总成绩:{0},平均分:{1},sum,average);}//定义带引用型和输出型参数的方法成员,包含的是数据的存储地址publicvoidsearchStuName(refstringName,outintw)//查找学生姓名{if(Name==StuName)w=1;elsew=0;}publicvoidchangeEnglish(floatenglish)//修改学生英语成绩{englishScore=english;Console.WriteLine(修改成功!);}}//定义中学生类,继承小学生类classmiddleSchoolStu:pupil{protectedstringcontactWay;protectedfloatphysicsScore;protectedfloatchemistryScore;//构造函数publicmiddleSchoolStu(stringstuName,stringstuSex,stringstuAge,stringstuNatPlace,stringcontactWay,floatchineseScore,floatmathScore,floatenglishScore,floatphysicsScore,floatchemistryScore):base(stuName,stuSex,stuAge,stuNatPlace,chineseScore,mathScore,englishScore){this.contactWay=contactWay;//this调用当前类的成员this.physicsScore=physicsScore;this.chemistryScore=chemistryScore;}//析构函数~middleSchoolStu(){}//重载基类的方法,增加三个输入数据成员publicoverridevoidinput(){base.input();//用base关键字访问基类的input()方法Console.Write(联系方式:);contactWay=Console.ReadLine();Console.Write(物理:);physicsScore=float.Parse(Console.ReadLine());Console.Write(化学:);chemistryScore=float.Parse(Console.ReadLine());}publicoverridevoidshow()//重载基类的方法{Console.WriteLine(学生基本信息:);Console.WriteLine(姓名:{0},性别:{1},年龄:{2},籍贯:{3},联系方式:{4},StuName,StuSex,StuAge,S

1 / 24
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功