您好,欢迎访问三七文档
攀枝花学院实验报告实验课程:VisualC#,NET程序设计实验项目:上机实验4实验日期:2015年5月5日系:数学与计算机学院班级:2013级计算机科学与技术姓名:学号:同组人:指导教师:罗明刚成绩:实验目的:1.区别静态类与非静态类,掌握静态字段,静态方法和静态构造函数的定义方法.2.理解类的继承性与多态性,掌握其应用方法.3.理解抽象类,接口的概念,掌握抽象类与接口的定义及使用方法.4.理解分部类和命名空间的概念,掌握分部类和命名空间的使用方法.实验仪器设备,药品,器材:Microsoftvisualstudio2010实验原理:1.熟悉visualstudio.net2010的基本操作方法.1.认真阅读本章相关内容,尤其是案例.2.实验前进行程序设计,完成源程序的编写任务.3.反复操作,直到不需要参考教材,能熟练操作为止.实验步骤:见下页1.设计一个windows应用程序:设计一个Windows应用程序,在该程序中首先构造一个学生基本类,再分别构造小学生、中学生、大学生等派生类,当输入相关数据,点击不同的按钮(小学生、中学生、大学生)将分别创建不同的学生对象,并输入当前的学生总人数,该学生的姓名学生类型和平均成绩。要求如下:(1)每个学生都有的字段为:姓名、年龄(2)小学生的字段还有语文、数学,用来表示这两科的成绩(3)中学生在此基础上多了英语成绩。(4)大学生只有必修课和选修课两项成绩。(5)学生类具有方法来统计自己的总成绩并输出。(6)通过静态成员自动记录学生总人数。(7)成员初始化能过构造函数完成。实验源代码:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;namespace_13{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}publicabstractclassStudent{protectedstringname;protectedintage;publicstaticintnumber;publicStudent(stringname,intage){this.name=name;this.age=age;number++;}publicstringName{get{returnname;}}publicabstractdoubleAverage();}publicclassPupil:Student{protecteddoublemath;protecteddoublechinese;publicPupil(stringname,intage,doublechinese,doublemath):base(name,age){this.chinese=chinese;this.math=math;}publicoverridedoubleAverage(){return(chinese+math)/2;}}publicclassZhongxue:Student{protecteddoublemath;protecteddoublechinese;protecteddoubleenglish;publicZhongxue(stringname,intage,doublechinese,doublemath,doubleenglish):base(name,age){this.chinese=chinese;this.math=math;this.english=english;}publicoverridedoubleAverage(){return(chinese+math+english)/3;}}publicclassDaxue:Student{protecteddoublebixiu;protecteddoublexuanxiu;publicDaxue(stringname,intage,doublebixiu,doublexuanxiu):base(name,age){this.bixiu=bixiu;this.xuanxiu=xuanxiu;}publicoverridedoubleAverage(){return(bixiu+xuanxiu)/2;}}privatevoidbutton1_Click(objectsender,EventArgse){stringa=Convert.ToString(textName.Text);intb=Convert.ToInt32(textAge.Text);doublec=Convert.ToDouble(textChinese.Text);doubled=Convert.ToDouble(textMath.Text);Pupilp=newPupil(a,b,c,d);lblshow.Text=总人数:+Student.number+姓名:+p.Name+,小学生平均成绩为:+p.Average();}privatevoidbutton2_Click_1(objectsender,EventArgse){stringa=Convert.ToString(textName.Text);intb=Convert.ToInt32(textAge.Text);doublec=Convert.ToDouble(textChinese.Text);doubled=Convert.ToDouble(textMath.Text);doublef=Convert.ToDouble(textEnglish.Text);Zhongxuez=newZhongxue(a,b,c,d,f);lblshow.Text=总人数:+Student.number+姓名:+z.Name+,中学生平均成绩为:+z.Average();}privatevoidbutton3_Click_1(objectsender,EventArgse){stringa=Convert.ToString(textName.Text);intb=Convert.ToInt32(textAge.Text);doublec=Convert.ToDouble(textChinese.Text);doubled=Convert.ToDouble(textMath.Text);Daxuef=newDaxue(a,b,c,d);lblshow.Text=总人数:+Student.number+姓名:+f.Name+,大学生平均成绩为:+f.Average();}}}实验截图:2.完善银行账户管理系统,增加一个VIP账户的管理。程序功能如下:(1)当点击“创建VIP账户”按钮时,显示如图所示信息,其中卡号为随机生成的一个在500000到999999之间的一个值,余额初始化为10000元;(2)在“取款”文本框中输入取款金额后,点击“取款”按钮,显示如图所示信息。如果余额不足,VIP用户可以透支1000元,如取款800,而余额是400,则显示如图所示信息。如透支超过1000元,如取款1600,而余额是400,则显示如图所示信息.(3)其中操作同上机实验4-3;(4)要求:通过继承和多态实现上述操作.实验源代码:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;namespace_16{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}Accountaccount;privatevoidbutton1_Click(objectsender,EventArgse){account=newVIPAccount();intaccountNo=account.CreditNo;stringmessage=string.Format(创建VIP账户成功\n用户卡号为:{0},accountNo);lblshow.Text=\n+message+\n;}privatevoidbutton2_Click(objectsender,EventArgse){account=newAccount();stringmessage=String.Format(创建户账户成功\n用户卡号为:{0},account.CreditNo);lblshow.Text=\n+message+\n;}privatevoidbutton3_Click(objectsender,EventArgse){stringmessage;if(account==null)message=请先创建账户!;elseif(txtq.Text==)message=请输入取款余额;else{decimalmoney=decimal.Parse(txtq.Text);account.WithDraw(money,outmessage);lblshow.Text=\n+message+\n;}lblshow.Text=\n+message+\n;}privatevoidbutton4_Click(objectsender,EventArgse){stringmessage;if(account==null)message=请先创建账户!;elseif(txtc.Text==)message=请输入存款金额;else{decimalmoney=decimal.Parse(txtc.Text);account.CuKuan(money,outmessage);}lblshow.Text=\n+message+\n;}privatevoidbutton5_Click(objectsender,EventArgse){stringmessage;if(account==null)message=请先创建账户!;account.ChaXun(outmessage);lblshow.Text=\n+message+\n;}}}publicclassAccount{protectedintcreditNo;protecteddecimalbanlance;publicAccount(){Randomr=newRandom();creditNo=r.Next(100000,500000);banlance=100;}publicintCreditNo{get{returnthis.creditNo;}}publicdecimalBanlance{get{returnthis.banlance;}}publicvirtualboolWithDraw(decimalmoney,outstringmessage){if(money0){message=操作失败!\n输入金额不正确;returnfalse;}elseif(banlance=money){banlance-=money;message=操作成功\n取款+money+元;returntrue;}elseif(banlance+1000money){banlance-=money;message=操作成功\n取款+money+元,透支+(-banlance)+元;returntrue;}else{message=操作失败!\n余额不足!;returnfalse;}}publicboolCuKuan(dec
本文标题:上机实验3
链接地址:https://www.777doc.com/doc-4694137 .html