您的位置:首页 > 编程语言 > C#

【可视化编程】实验2:C#程序设计基础

2018-03-26 18:13 141 查看
说明:这是武汉理工大学计算机学院可视化编程(C#)课程的实验二代码。

实验目的:

  掌握C#的基本流程控制语句,掌握面向对象程序的设计方法,理解继承的概念、掌握继承的使用方法、能够利用继承建立父类和子类。

实验内容2.1:

  故宫的门票实行的是淡季票价和旺季票价,淡季从11月1日—3月31日,票价为40元,学生票20元。旺季从4月1日—10月31日,票价为60元,学生票20元。
  另外,故宫为一些特殊人群提供了门票优惠政策:
  ①1.2米以下的儿童免票
  ②大中小学生门票20元
  ③离休人员免票
  ④60岁及以上老年人享受半价优惠
  根据参观月份和参观者的类型,输出实际的门票价格。使用嵌套if和switch结构实现。

实验代码2.1:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 实验2._1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("------票价查询系统------\n" +
" 1、普通人员\n" +
" 2、1.2米以下儿童\n" +
" 3、大中小学生\n" +
" 4、离休人员\n" +
" 5、60岁以及以上老人\n");

while (true)
{
Console.Write("请输入符合您条件的序号:");
String str = Console.ReadLine();
int choice = Convert.ToInt32(str);

Console.WriteLine();

4000
DateTime dt = DateTime.Now;
String date = String.Format("{0:yyyy年MM月dd日 HH:mm:ss dddd}", dt);

switch (choice)
{
case 1:
Console.WriteLine("当前时间:{0}", date);
if (4 <=DateTime.Now.Month && DateTime.Now.Month <= 10)
{
Console.WriteLine("您的票价:60元。");
}
else
{
Console.WriteLine("您的票价:40元。");
}
break;

case 2:
Console.WriteLine("当前时间:{0}", date);
Console.WriteLine("您的票价是:0元。");
break;

case 3:
Console.WriteLine("当前时间:{0}", date);
Console.WriteLine("您的票价是:20元。");
break;

case 4:
Console.WriteLine("当前时间:{0}", date);
Console.WriteLine("您的票价是:0元。");
break;

case 5:
Console.WriteLine("当前时间:{0}", date);
if (4 <= DateTime.Now.Month && DateTime.Now.Month <= 10)
{
Console.WriteLine("您的票价是:30元。");
}
else
{
Console.WriteLine("您的票价是:20元。");
}
break;

default:
Console.WriteLine("您的输入有误!");
break;

}
Console.WriteLine();
}
}
}
}

运行结果2.1:



实验内容2.2:

  编写一个控制台应用程序,完成下列功能,并写出运行程序后输出的结果。
  ①创建一个类A,在A中编写一个可以被重写的带int类型参数的方法MyMethod,并在该方法中输出传递的整型值加10后的结果。
  ②再创建一个类B,使其继承自类A,然后重写A中的MyMethod方法,将A中接收的整型值加50,并输出结果。
  ③在Main方法中分别创建类A和类B的对象,并分别调用MyMethod方法。

实验代码2.2:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 实验2._2
{
class Program
{
static void Main(string[] args)
{
Console.Write("请输入Num初始值:");
String str = Console.ReadLine();
int num = Convert.ToInt32(str);

ClassA classA = new ClassA();
ClassB classB = new ClassB();

Console.WriteLine("调用ClassA中方法返回的结果是: {0}" , classA.MyMethod(num));
Console.WriteLine("调用ClassB中方法返回的结果是: {0}" , classB.MyMethod(num));
}
}
}

class ClassA {
public virtual int MyMethod(int NumA) {
int rNumA = NumA + 10;
return rNumA;
}
}

class ClassB : ClassA {
public override int MyMethod(int NumB) {
int rNumB = NumB + 50;
return rNumB;
}
}

运行结果2.2:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: