手机酷狗彩铃在哪:c#编程作业!

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/28 09:21:34
【程序功能】
本程序实现如下功能:定义一个磁盘类,在类中定义字段、属性和虚拟方法;由基类Disk创建派生类Floppy和Flash,在派生类中实现方法重载;在程序中实例化类的对象并且调用类的方法
【要求】
1. 新建并保存项目:在Visual Studio.Net中,新建一个Visual c#控制台应用程序项目,名称设置为自己的学号
2. 定义基类Disk,为项目添加公有类Disk,保存在文件Disk.cs中
3. 为基类Disk添加下列字段、属性和方法:
 私有字段m_size,代表磁盘容量,数据类型为float
 私有字段m_used,代表磁盘已用空间,数据类型为float
 公有属性Size,用于获取和设置m_used字段,包含get访问器和set访问器
 公有属性Used,用于获取和设置m_used字段,包含get访问器和set访问器,在类的构造方法中设置初始值为0
 虚拟方法GetAvailable(),用于计算磁盘剩余空间:
若属性Used的值小于属性Size的值,方法返回一个字符串“磁盘剩余空间为:x”其中x表示属性Size减去Used的值
否则,方法返回一个字符串“磁盘已满”
4. 定义派生类Floppy和Flash,在其中重载基类的虚拟方法,并使用base调用基类的构造方法来对自己进行初始化:
 从基类Disk中派生出公有类Floppy和Flash,仍然保存在文件Disk.cs中
 在类Floppy的构造方法中,设置属性Size的初始值为1.44f
 在类Flash的构造方法中,设置属性Size的初始值为32
 在类Floppy中重载基类Disk的虚方法GetAvailable
若属性Used的值小于属性Size的值,方法返回一个字符串“软盘剩余空间为:x”,其中x表示Size减去Used的值
否则,方法返回一个字符串“软盘已满”
 在类Flash中重载基类Disk的虚方法GetAvailable
若属性Used的值小于属性Size的值,方法返回一个字符串“闪盘剩余空间为:x”,其中x表示Size减去Used的值
否则,方法返回一个字符串“闪盘已满”
5. 在程序主方法中实例化类的对象,调用方法输出磁盘剩余空间:
 实例化Disk的一个对象disk,设置属性Size的值为120,调用类的方法GetAvailable(),并输出方法返回的字符串
 实例化Floppy的一个对象floppy,设置属性Used的值为3.2f,调用类的方法GetAvailable(),并输出方法返回的字符串
 实例化Flash的一个对象flash,设置属性Used的值为3.2f,调用类的方法GetAvailable(),并输出方法返回的字符串
 输出文本“按回车键结束”,读取回车键后结束程序
在上一题的基础上,实现用户的查询功能
【要求】
1. 命令行方式下输出字符串“请选择要使用的磁盘: 1为软盘,2为闪盘”,并提示用户输入1或2,如果输入其他字符,将显示“不正确的输入,请重新选择,或者输入3退出”,如果用户输入“c”则程序结束,如果用户输入正确则程序继续运行,否则仍然提示用户重新选择
2. 如果用户选择1,则显示“请输入要存入软盘的文件大小”,并提示用户输入,如果输入的文件大小可以被软盘容纳,则输出“软盘已用空间为x,软盘剩余空间为y”,其中x为用户输入的文件大小,y为软盘剩余的空间大小;如果用户输入的文件大小超过了软盘可以容纳的能力,则输出“文件太大,请重新输入文件大小”,重新执行用户的输入过程
3. 如果用户选择2,则显示“请输入闪盘的文件大小”,并提示用户输入,如果输入的文件大小可以被闪盘容纳,则输出“闪盘已用空间为x,软盘剩余空间为y”,其中x为用户输入的文件大小,y为闪盘剩余的空间大小;如果用户输入的文件大小超过了闪盘可以容纳的能力,则输出“文件太大,请重新输入文件大小”,重新执行用户的输入过程

Disk.cs
--------------------------------
using System;

namespace 你的学号
{
/// <summary>
/// 磁盘基类。
/// </summary>
public class Disk
{
#region Private Variables
private float m_size;
private float m_used;
#endregion

#region Public Properties
public float Size
{
get
{
return this.m_size;
}
set
{
this.m_size = value;
}
}

public float Used
{
get
{
return this.m_used;
}
set
{
this.m_used = value;
}
}
#endregion

#region Constutor Function
public Disk()
{
this.m_size = 0f;
this.m_used = 0f;
}

public Disk(float size)
{
this.Size = size;
}
#endregion

#region Virtual Methods
public virtual string GetAvailable()
{
return (this.Used < this.Size) ? String.Format("磁盘剩余空间为:{0}", this.Size - this.Used) : "磁盘已满";
}
#endregion
}

/// <summary>
/// 软盘类
/// </summary>
public class Floppy : Disk
{
public Floppy() : base(1.44f)
{
}

public override string GetAvailable()
{
return (this.Used < this.Size) ? String.Format("软盘剩余空间为:{0}", this.Size - this.Used) : "软盘已满";
}
}

/// <summary>
/// 闪盘类
/// </summary>
public class Flash : Disk
{
public Flash() : base(32)
{
}

public override string GetAvailable()
{
return (this.Used < this.Size) ? String.Format("闪盘剩余空间为:{0}", this.Size - this.Used) : "闪盘已满";
}
}
}
--------------------------

Main.cs
-----------------------------
using System;

namespace 你的学号
{
class Work
{
static void Main(string[] args)
{

Disk d = new Disk();
d.Size = 120;
Console.WriteLine(d.GetAvailable());

Floppy f = new Floppy();
f.Used = 3.2f;
Console.WriteLine(f.GetAvailable());

Flash s = new Flash();
s.Used = 3.2f;
Console.WriteLine(s.GetAvailable());

Console.ReadLine();
}
}
}

如果上面回答你满意,请把分数加到我身上!