77范文网 - 专业文章范例文档资料分享平台

刘秋香 c#第八章实验报告

来源:网络收集 时间:2018-11-28 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

C#实验报告(第七章) 计科11205 小专

(1)定义磁盘类Disk及其派生类HardDisk(硬盘),Flash(闪盘)和CDROM(光盘),在其中定义记录磁盘容量的字段,并通过虚拟方法和重写方法来模拟对磁盘内容的写入和删除。

1) 主程序代码如下:

class Disk {

private double cap; public double Cap { get

{ return cap;} set

{if(cap<0) cap=0; else cap=value;} }

public virtual void write() {

Console.WriteLine(\正在向磁盘中写入……\); }

public void delete() {

Console.WriteLine(\正在删除磁盘内容……\) ; } }

class HardDisk : Disk {

public override void write() {

Console.WriteLine(\正在向硬盘中写入内容……\); }

public new void delete() {

Console.WriteLine(\正在删除硬盘内容……\) ; } }

class Flash : Disk {

public override void write() {

Console.WriteLine(\正在向闪存上写入信息……\); }

public new void delete() {

Console.WriteLine(\正在删除闪存上信息……\); } }

class CDROM : Disk {

public override void write() {

Console.WriteLine(\正在向CDROM上写入信息……\);

} } class Program {

static void Main(string[] args) {

HardDisk h = new HardDisk(); Flash f = new Flash(); CDROM c = new CDROM(); h.write(); h.delete(); f.write(); f.delete(); c.write();

Console.ReadLine();}}

(2)设计并编程实现规则平面几何图形(所谓规则及各边相等,各个内角也相等的等边图形)

的继承层次,要求定义一个抽象基类shape,由他派生出4个派生类;等边三角形,正方形,等边五边形,等边六边形,并通过抽象的方法来实现计算各图形的面积。

1) 主程序代码如下: class Program {

static void Main(string[] args) {

int length;

San s3 = new San(); Si s4 = new Si(); Wu w5= new Wu(); Liu l6 = new Liu();

Console.Write(\请输入边长:\);

length = int.Parse(Console.ReadLine()); switch (length) {

case 3: {

s3.Length = length;

Console.WriteLine(\正三角形的面积为{0}\, s3.area()); break; } case 4: {

s4.Length = length;

Console.WriteLine(\正四边形的面积为{0}\, s4.area()); break; } case 5: {

w5.Length = length;

Console.WriteLine(\正五边形的面积为{0}\, w5.area()); break; } case 6:

{

l6.Length = length;

Console.WriteLine(\正六边形的面积为{0}\, l6.area()); break;

} }

Console.ReadLine(); } }

public abstract class Shape {

private double length; public double Length {

get { return length; } set {

if (value < 0) length = 0;

else length = value; } }

public abstract double area(); }

public class San : Shape {

public override double area() {

return Length * Length * Math.Sqrt(3) / 4; } }

public class Si : Shape {

public override double area()

{ return Length * Length; } }

public class Wu : Shape {

public override double area() {

return Length * Length * (25 + (10 * Math.Sqrt(5))) / 4; } }

public class Liu : Shape {

public override double area() {

return Length * Length * 3 * Math.Sqrt(3) / 2; } }

(3)以委托对象作为方法的参数,对学生类对象分别按照姓名。年龄和年级来比较两个学生对象,实现程序以不同的排列方法来输出学生信息。

1)主程序代码如下:

public delegate int zhuan(Zhuan z1, Zhuan z2); public class Zhuan {

public zhuan w; private string name; public string Name {

get { return name; } }

private int age; public int Age {

get { return age; } }

private int grade; public int Grade {

get { return grade; } }

public Zhuan(string name, int age, int grade) {

this.name = name; this.age = age; this.grade = grade; }

public void sort(Zhuan[] Z, zhuan z) {

int l = Z.Length;

for (int i = l - 1; i > 0; i--) for (int j = 0; j < i; j++)

if (z(Z[j], Z[j + 1]) > 0) {

Zhuan w = Z[j + 1]; Z[j + 1] = Z[j]; Z[j] = w; }

for (int k = 0; k < l; k++)

Console.WriteLine(Z[k]); }

public override string ToString() {

return string.Format(\岁 {2}年级\, name, age, grade); }

public int Zname(Zhuan z1, Zhuan z2) {

return z1.Name.CompareTo(z2.Name); }

public int Zage(Zhuan z1, Zhuan z2)

{

return z1.Age - z2.Age; }

public int Zgrade(Zhuan z1, Zhuan z2) {

return z1.Grade - z2.Grade; } }

class Program {

static void Main(string[] args) {

Zhuan W=new Zhuan (\,2,2); Zhuan[] Z = new Zhuan[6];

Z[0] = new Zhuan(\魏巍\, 25, 1); Z[1] = new Zhuan(\小专\, 21, 0); Z[2] = new Zhuan(\小娇\, 20, 2); Z[3] = new Zhuan(\乐平\, 22, 3); Z[4] = new Zhuan(\大鹏\, 22, 4); Z[5] = new Zhuan(\桂荣\, 21, 5);

Console.WriteLine(\请输入排列方式(1【姓名】或2【年龄】或3【年级】):\); int s = int.Parse(Console.ReadLine()); switch (s) {

case 1: W.w =new zhuan(W.Zname); W.sort(Z, W.w); break; case 2: W.w = new zhuan(W.Zage); W.sort(Z, W.w); break; case 3: W.w = new zhuan(W.Zgrade); W.sort(Z, W.w); break; }

Console.ReadLine(); } }

(4)在第七章习题的设计题(4)的book类中,添加每卖出一份图书时,就触发一个事件。在订购着中处理该事件,输出销售数据信息。

1)主程序代码如下:

public delegate void SaleDelegate(bool sold); class Program {

static void Main(string[] args) {

BookSales sale1 = new BookSales();

Book book1 = new Book(\我是小笨蛋\, \桂荣\, 12); Book book2 = new Book(\七里香\, \周杰伦\, 1314.520); Console.WriteLine(\书名:{0},作者:{1},库存数量:{2}\\n\, book1.Title, book1.Author, book1.Count); Console.WriteLine(\书名:{0},作者:{1}, 价格:{2}\\n\, book2.Title, book2.Author, book2.Price); book1.Sold = true; book1.Count -= 1; sale1.sale(book1); book1.ChangeSold(); Console.WriteLine(\书名:{0},作者:{1},库存数量:{2}\, book1.Title, book1.Author, book1.Count);

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库刘秋香 c#第八章实验报告在线全文阅读。

刘秋香 c#第八章实验报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/317994.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: