c#程序设计实训报告心得体会_一个C#初学者的学习心得体会

篇2:C#实验1报告-福建农林大学

C#实验1报告-福建农林大学 本文关键词:福建,农林,实验,报告,大学

C#实验1报告-福建农林大学 本文简介:实验报告学院:计算机与信息学院专业:计算机科学与技术年级:12级姓名:陈锦灿学号:3126010067实验室号:__田C513_计算机号:实验日期:2014年11月25日指导教师签字:成绩:报告退发(订正、重做)实验一类与对象一、实验目的:1、掌握类的成员设计。2、掌握属性的定义及使用。3、掌握索引

C#实验1报告-福建农林大学 本文内容:

学院:

计算机与信息学院

专业:

计算机科学与技术

年级:

12级

姓名:

陈锦灿

学号:

3126010067

实验室号:__田C513_

计算机号:

实验日期:

2014

11

25

指导教师签字:

成绩:

报告退发

(订正

重做)

实验一

类与对象

一、实验目的:

1、掌握类的成员设计。

2、掌握属性的定义及使用。

3、掌握索引器的定义及使用。

二、实验内容:

1、编写一个简单的英汉电子词典程序。能够将用户输入的英文单词翻译成相应的中文。假设一个英文单词的中文释义有多个。

要求如下:

(1)定义单词类Word,相关成员如下图所示。

(2)定义词典类Dictionary,相关成员如下图所示。在Dictionary类中定义一个索引器。该索引器能根据英文单词,返回中文释义。如果词典中无该单词,则提示“该单词无对应的中文释义!”。

(3)定义Test类,在其Main方法中,接收用户输入的英文单词,完成相应中文释义的查找及输出。下图为某次查询的输出结果。

2、整数集合是由多个不同的整数构成。请定义Set类,求两个整数集合的并集和交集。编程时,集合的元素保存在一个一维数组中。

要求如下:

(1)

在Set类中,定义私有的int型数组变量setA和setB,用于保存两个待求并集和交集的整数集合。

(2)

在Set类中定义构造方法。

(3)

在Set类中定义属性SetA和SetB。在set访问器中,提供参数合法性检查的代码,以保证成员变量setA和setB中的元素不重复。

(4)

在Set类中定义私有方法private

bool

IsRepeated(int[]

array),判断参数array中是否存在重复元素。

(5)

在Set类中定义私有方法private

bool

IsInSetA(int

element),判断集合SetA中是否存在元素element。

(6)

在Set类中定义GetUnion方法,返回两个集合的并集。

(7)

在Set类中定义GetIntersection方法,返回两个集合的交集。

(8)

定义Test类,在其Main方法中,完成相关测试。

三、实验环境

Visual

Studio

2008

四、实验步骤

1.

英汉电子词典程序

using

System;

class

Word

{

private

string

english;

private

string[]

chinese;

public

Word(string

english,string[]

chinese)

{

this.english

=

english;

this.chinese

=

chinese;

}

public

string[]

Chinese

{

get

{

return

chinese;

}

}

public

string

English

{

get

{

return

english;

}

}

}

public

class

Dictionary

{

private

Word[]

words;

public

Dictionary()

{

words

=

new

Word[]{

new

Word(“computer“,new

string[]{“计算机“,“电脑“}),new

Word(“news“,new

string[]{“新闻“,“消息“,“报导“}),new

Word(“translation“,new

string[]{“翻译“,“译文“,“转变“}),new

Word(“radio“,new

string[]{“无线电“,“收音机“})

};

}

public

string[]

this[string

english]

{

get

{

for(int

i

=

0;

i

<

words.Length;

i++)

{

if(words[i].English.equals[english])

return

words[i].Chinese;

}

return

new

string[]{“该单词无对应的中文释义!“};

}

}

}

class

Test

{

public

static

void

Main()

{

Dictionary

dic

=

new

Dictionary();

bool

ifContinue

=

true;

while

(ifContinue)

{

Console.Write(“请输入需要翻译的英文单词:“);

string

word

=

Console.ReadLine().ToLower();

string[]

meanings

=

dic[word];

foreach

(string

str

in

meanings)//输出查询结果

{

Console.WriteLine(str);

}

Console.WriteLine(@“是否继续?Y=

继续

,其他键=

退出查询

“);

if

(Console.ReadLine().ToLower()

==

“y“)

{

ifContinue

=

true;

}

else

{

ifContinue

=

false;

Console.WriteLine(“您选择了退出查询!“);

}

}

Console.ReadKey();

}

}

2.

求两个整数集合的并集和交集

using

System;

class

Set

{

private

int[]

setA;//整数集合1

private

int[]

setB;//整数集合2

public

Set(int[]

setA,int[]

setB)

{

//【代码一】:实现构造方法

SetA

=

setA;

SetB

=

setB;

}

public

int[]

SetA

{

//【代码二】:实现属性SetA

get

{

return

setA;

}

set

{

if(!IsRepeated(value))

setA

=

value;

}

}

public

int[]

SetB

{

//【代码三】:实现属性SetB

get

{

return

setB;

}

set

{

if(!IsRepeated(value))

setB

=

value;

}

}

//判断数组array中是否存在重复元素

private

bool

IsRepeated(int[]

array)

{

//【代码四】

for(int

i

=

0;

i

<

array.Length;

i++)

{

for(int

j

=

i+1;

j

<

array.Length;

j++)

{

if(array[i]

==

array[j])

return

true;

}

}

return

false;

}

//判断集合SetA中是否存在元素element

private

bool

IsInSetA(int

element)

{

//【代码五】

foreach(int

temp

in

setA)

{

if(temp

==

element)

return

true;

}

return

false;

}

//求并集

public

int[]

GetUnion()

{

//【代码六】

int

count

=

0;

foreach(int

temp

in

setB)

{

if

(!IsInSetA(temp))

count++;

}

int[]

union

=

new

int[setB.Length

+

count];

for(int

i=0;

ii++)

{

union[i]

=

setA[i];

}

int

index

=

0;

for(int

i=0;

ii++)

{

if

(!IsInSetA(setB[i]))

{

union[setA.Length

+

index]

=

setB[i];

index++;

}

}

return

union;

}

//求交集

public

int[]

GetIntersection()

{

//【代码七】

int

count

=

0;

int

index

=

0;

foreach

(int

temp

in

setB)

{

if

(IsInSetA(temp))

count++;

}

int[]

intersection

=

new

int[count];

for(int

i=0;

ii++)

{

if

(IsInSetA(setB[i]))

{

intersection[index]

=

setB[i];

index++;

}

}

return

intersection;

}

}

public

class

Test

{

public

static

void

PrintArray(int[]

myArray)

{

foreach

(int

element

in

myArray)

{

Console.Write(“{0}“,element);

}

Console.WriteLine();

}

public

static

void

Main(string[]

args)

{

int[]

a

=

{

2,5,6,8,10

};

int[]

b

=

{

3,4,8,10,20

};

Set

set

=

new

Set(a,b);

if

(set.SetA

==

null)

{

Console.WriteLine(“集合A初始化失败!“);

}

else

if

(set.SetB

==

null)

{

Console.WriteLine(“集合B初始化失败!“);

}

else

{

int[]

c1

=

set.GetUnion();

int[]

c2

=

set.GetIntersection();

Console.WriteLine(“集合a:“);

PrintArray(a);

Console.WriteLine(“集合b:“);

PrintArray(b);

Console.WriteLine(“并集:“);

PrintArray(c1);

Console.WriteLine(“交集:“);

PrintArray(c2);

}

Console.ReadKey();

}

}

五、实验调试与结果分析

六、总结

你可能感兴趣的:(c#程序设计实训报告心得体会)