【可视化编程】实验2:C#程序设计基础
2018-03-26 18:13
141 查看
说明:这是武汉理工大学计算机学院可视化编程(C#)课程的实验二代码。
另外,故宫为一些特殊人群提供了门票优惠政策:
①1.2米以下的儿童免票
②大中小学生门票20元
③离休人员免票
④60岁及以上老年人享受半价优惠
根据参观月份和参观者的类型,输出实际的门票价格。使用嵌套if和switch结构实现。
①创建一个类A,在A中编写一个可以被重写的带int类型参数的方法MyMethod,并在该方法中输出传递的整型值加10后的结果。
②再创建一个类B,使其继承自类A,然后重写A中的MyMethod方法,将A中接收的整型值加50,并输出结果。
③在Main方法中分别创建类A和类B的对象,并分别调用MyMethod方法。
实验目的:
掌握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:
相关文章推荐
- 【可视化编程】实验1: Visual Studio环境的使用
- .NET-实验一-C#程序设计基础
- 第1次实验——NPC问题(回溯算法、聚类分析)
- db2入门实验(Working with Instances and Databases )
- 实验5.1.1简单字符设备驱动程序设计与验证
- 实验一 Linux操作系统的安装
- 第三次上机实验
- 20145329 《信息安全系统设计基础》实验三 实时系统的移植
- HTK搭建语音拨号系统实验材料下载
- OSPF 多域实验报告
- C++第九周实验报告
- 【iCore4 双核心板_FPGA】例程十三:基于SPI的ARM与FPGA通信实验
- 汇编实验:彩色字符中间位置显示字符串
- 《信息安全系统设计基础》实验二 固件设计
- C语言实验-打印金字塔
- .Net 调式案例—实验1 假死(hang)复习回顾
- 十八周实验
- 数据库系统基础教程第三版 部分实验命令
- c++实验2作业
- 20145224&20145238 《信息安全系统设计基础》 第四次实验