常熟理工学院-C_实验报告册(本二)

  • 格式:doc
  • 大小:276.50 KB
  • 文档页数:60

1

《面向对象程序设计C#》实验指导及报告书

/ 学年 第 学期

姓 名:______________

学 号:______________

班 级:______________

指导教师:______________

实验目录

实验一 创建简单的.NET应用程序 ................................................. 3

实验二 选择和循环........................................................................... 9

实验三 数组和字符串处理............................................................. 15

实验四 类和对象编程练习............................................................... 21

实验五 继承与多态编程练习......................................................... 32

实验六 接口和集合........................................................................... 41

实验七 文件和输入输出................................................................. 50

实验八 代理和事件........................................................................... 54

实验一 创建简单的.NET应用程序

一、实验目的

1.了解C# 基本程序结构;

2.熟悉命令行方式下C#程序编写、编译、调试和执行过程;

3.了解VS2005集成开发环境的功能和特点。

二、预习内容

1.一个C#应用程序,从编写到运行,要经过哪几个步骤?

三、实验内容

1. 调试并运行下面程序,并写出运行结果:

using System;

class SimpleProgram

{

static void Main()

{

Console.WriteLine(“Hello!\nWorld.”);

}

}

运行结果(注意,按照屏幕输出格式写):

Hello!

World.

2. 调试并运行下面程序,并写出运行结果: using System;

class StarTriangle

{

static void Main(string[] args)

{

int i, j, k;

for (i = 0; i <= 3; i++)

{

for (j = 0; j <= 2 - i; j++)

Console.Write(" "); //一个空格

for (k = 0; k <= 2 * i; k++)

Console.Write("*");

Console.WriteLine();

}

Console.ReadKey();

}

}

运行结果(注意,按照屏幕输出格式写):

*

***

*****

*******

3. 下面是一个模拟计算器的程序(两个操作数都为正整数)。计算器应该能够执行以下算术操作:加法、减法、乘法、除法。调试并运行下面程序,验证当从键盘输入8和2两个整数时,选择进行乘法时的计算结果。

注意:程序输入时要区分大小写。

using System;

class CalcNumber

{

int number1,number2;

char option;

int result;

public void Number()

{

Console.WriteLine(“Enter the First Number:”);

number1=Convert.ToInt32(Console.ReadLine()); Console.WriteLine(“Enter the Second Number:”);

number2=Convert.ToInt32(Console.ReadLine());

Console.WriteLine(“Main Menu”);

Console.WriteLine(“1.Addition”);

Console.WriteLine(“2.Subtraction”);

Console.WriteLine(“3.Multiplication”);

Console.WriteLine(“4.Division”);

Console.WriteLine(“Enter the Operation you want to perform:”);

option=Convert.ToChar(Console.ReadLine());

switch(option)

{

case „1‟: result=number1 + number2;

break;

case „2‟: result=number1 - number2;

break;

case „3‟: result=number1 * number2;

break;

case „4‟: result=number1 / number2;

break;

default: Console.WriteLine(“Invalid Option”);

return;

}

Console.WriteLine(“The result is {0}” , result);

}

}

class TestCalc

{

static void Main(string[] args)

{

CalcNumber obj = new CalcNumber();

obj.Number();

}

}

从键盘输入8和2两个整数时, (1) 选择3时的运行结果:

(2) 选择5时的运行结果:

The result is 16

Invalid Option

从键盘输入的8和two时(第二个数为非整数),程序运行结果:

程序不运行

4.在保持功能不变的情况下,改写上例代码如下:

using System;

class CalcNumber

{

int number1,number2;

char option;

public void GetNumber()

{

Console.WriteLine(“Enter the First Number:”);

number1=Convert.ToInt32(Console.ReadLine());

Console.WriteLine(“Enter the Second Number:”);

number2=Convert.ToInt32(Console.ReadLine());

}

public void GetOption()

{

Console.WriteLine(“Main Menu”);

Console.WriteLine(“1.Addition”);

Console.WriteLine(“2.Subtraction”);

Console.WriteLine(“3.Multiplication”);

Console.WriteLine(“4.Division”);

Console.WriteLine(“Enter the Operation you want to perform:”);

option = Convert.ToChar(Console.ReadLine());

}

public int Compute()

{

int result; switch(option)

{

case „1‟: result=number1 + number2;

break;

case „2‟: result=number1 - number2;

break;

case „3‟: result=number1 * number2;

break;

case „4‟: result=number1 / number2;

break;

default: throw new InvalidOperationException (“Invalid Option”);

}

return result;

}

}

class TestCalc

{

static void Main(string[] args)

{

try

{

CalcNumber obj = new CalcNumber();

obj.GetNumber();

obj.GetOption();

int result = pute();

Console.WriteLine(“The result is {0}” , result);

}

catch(Exception e)

{

Console.WriteLine(e.Message);

}

}

}

比较与上例运行结果,是否完全相同:

从键盘输入8和2两个整数时,

选择3时的运行结果: