C#实验报告Word格式.docx
《C#实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《C#实验报告Word格式.docx(52页珍藏版)》请在冰豆网上搜索。
5、核心代码
1、
namespace11
{classProgram
{staticvoidMain(string[]args)
{("
mynumberis:
22"
);
("
\n"
("
mynameis:
姜飞"
("
mymajoris:
计算机"
();
}}}
实验结果:
22
姜飞
计算机
2、
privatevoidbtnConfirm_Click(objectsender,EventArgse)
{
(”学号:
”++”,姓名:
”++”,性别:
”++”,年龄:
”++”,专业:
”+:
}
学号:
22
姓名:
性别:
女
年龄:
21
专业:
计算机科学与技术
6、实验体会
本次实验是初次接触c#程序设计,感觉很陌生,但在实验过程中,却也体会到了很多乐趣。
例如对c#中输入输出的方法不熟练,经常把write和writeline等用错地方,但随着语句越写越多,也会发现其实C#编程还是很方便很有意思的。
另外本次实验,我掌握了简单窗体控件:
label、textbox、button的基本用法等,在以后的实验中,我觉得会更加有趣,学到的东西也会越来越丰富。
C#程序设计基础实验学时:
实验地点:
实验成绩:
批改时间:
一、实验目的
1、理解C#的值类型、常量和变量的概念。
2、掌握C#常用运算符以及表达式的运行规则。
3、了解C#的引用类型,理解数据类型转换、装箱和拆箱的区别。
1、设计一个简单的Windows应用程序,在文本框中随意输入一个日期,单击“确定”按钮时显示“这一天是星期几”。
2、设计一个简单的计算器,实现两个数的加、减、乘、除、求幂等计算。
3、设计一个简单的Windows程序,输入多个数字,然后排序并输出。
namespace_21
{publicpartialclassForm1:
Form
{publicForm1(){InitializeComponent();
enumWeekday{星期天,星期一,星期二,星期三,星期四,星期五,星期六};
privatevoidbutton1_Click(objectsender,EventArgse){
DateTimedt=;
Weekdaywd=(Weekday);
="
这一天是"
+wd+"
."
;
在文本框中输入2013-11-14,则显示:
这一天是星期四。
privatevoidbutton1_Click(objectsender,EventArgse)
{
doublea=;
doubleb=;
+=a+"
加"
+b+"
的和是"
;
+=a+b+"
}
privatevoidbutton2_Click(objectsender,EventArgse)
减"
的差是"
+=a-b+"
privatevoidbutton3_Click(objectsender,EventArgse)
乘"
的积是"
+=a*b+"
privatevoidbutton4_Click(objectsender,EventArgse)
除"
的商是"
+=a/b+"
privatevoidbutton5_Click(objectsender,EventArgse)
的"
次方是"
+=(a,b)+"
实验结果:
a:
3b:
3
3加3的和是6
3减3的差是0
3乘3的积是9
3除3的商是1
3的3次方是27
3、
float[]a=newfloat[5];
inti=0;
privatevoidbtnAdd_Click(objectsender,EventArgse)
a[i]=;
+=a[i]+“”;
i++;
privatevoidbtnSort_Click(objectsender,EventArgse)
(a);
+=”\n排序之后为:
”;
+=a[0]+””+a[1]+””+a[2]+””+a[3]+””+a[4];
输入5个数据:
,则输出:
排序之前为:
排序之后为:
通过本次C#实验,我对C#Windows应用程序有了进一步的了解,比上次实验更加熟练地运用窗体中的label、button和txtBox等控件。
并且了解了C#的值类型、常量和变量的概念,掌握了C#常用运算符以及表达式的运行规则等。
而且自己设计窗体界面,也让我对C#的实验更加感兴趣。
C#程序的流程控制实验学时:
1416
1、理解分支和循环的逻辑意义。
2、掌握C#的if、switch分支语句的使用方法。
3、掌握C#的while、do/while、for、foreach等循环语句的使用方法。
1、熟悉Visual的基本操作方法。
2、认真阅读本章相关内容,尤其是案例。
3、实验前进行程序设计,完成源程序的编写任务。
4、反复操作,直到不需要参考教材、能熟练操作为止。
1、修改上机实验2的第三个实验任务,将输入的n个数字,通过for语句排序并输出。
注意,不允许使用()方法排序。
2、设计一个Windows应用程序,实现如下功能。
(1)输入学生姓名和考试成绩并保存到结构体数组中。
(2)使用foreach语句最高分并输出对应的姓名。
3、设计一个Windows应用程序,输入一行字符,检索是否存在重复的双字词汇,输出重复的次数。
五、核心代码
namespace_31
{publicForm1()
{InitializeComponent();
double[]a=newdouble[50];
inti=0;
privatevoidbutton1_Click(objectsender,EventArgse)
{a[i]=;
+=a[i]+"
"
{doublet;
intj=0,k;
+="
\n排序之后为:
"
for(j=0;
j<
i-1;
j++)
for(k=j+1;
k<
i;
k++)
if(a[j]>
a[k]){t=a[j];
a[j]=a[k];
a[k]=t;
for(j=0;
j<
i;
j++)+=a[j]+"
}}}
namespace-32
{publicForm1(){InitializeComponent();
structstudent
{publicstringname;
publicfloatscore;
student[]persons=newstudent[10];
privatevoidbutton1_Click(objectsender,EventArgse)
{persons[i].name=;
persons[i].score=;
+=persons[i].name+"
+persons[i].score+"
{floatt=0;
stringj=null;
foreach(studentcinpersons){
if(t<
{t=;
j=;
最高分:
+j+"
+t;
}}}
}}
输入:
张三65添加李四78添加王二84添加钱一80
则显示学生成绩:
张三65李四78王二84钱一80
王二84
3、
intn=0;
string[]words=newstring[10];
int[]times=newint[10];
for(inti=0;
i<
-2;
i++)
boolisSame=false;
stringsource=2);
intj=i+2;
while(j<
-2)
stringtarget=2);
if(source==target)
times[n]++;
if(words,target)==-1)
isSame=true;
words[n]=target;
j++;
if(isSame)n++;
=("
一共有{0}个重复的词汇!
\n其中,"
n);
10;
if(!
(words[i]))
+=("
“{0}”重复{1}次"
words[i],times[i]+1);
在Text中输入中国人永远爱中国,世世代代永远在中国大地上拼搏!
,则显示:
一共有2个重复的词汇!
其中,“中国”重复3次,“永远”重复2次
六、实验体会
本次实验又加深了我对label、button和textBox等控件的应用,前两次自己设计窗体界面还不太熟练,这次实验更加得到了锻炼,印象更加深刻了。
也掌握了C#的if、switch分支语句和while、do/while、for、foreach等循环语句的使用方法。
面向对象程序设计入门实验学时:
实验成绩:
1、理解面向对象的概念,掌握C#的定义类和创建对象的方法。
2、区分类的不同数据成员,包括常量、字段、和属性的定义方法,并学会控制其可访问性。
3、掌握类的方法成员的声明与调用,理解各种参数在方法中的意义及使用。
4、理解构造函数和析构函数的作用机制。
二、实验要求
1、熟悉Visual2010的基本操作方法。
三、实验设备及环境
四、实验任务
1、设计一个简单的Windows应用程序,在文本框中输入两个点的坐标值,单击“确定”按钮时显示两点之间的距离。
要求定义一个Point类,包括:
(1)两个私有字段表示两个坐标值。
(2)一个构造函数通过传入的参数对坐标值初始化。
(3)两个只读属性对坐标值的读取。
(4)一个方法包含一个Point类对象作为形参该对象和自己的距离。
2、自定义一个时间类。
该类包含小时、分、秒、字段与属性,具有将秒增加1秒的方法。
要求定义一个Time类,包括:
(1)三个私有字段表示时、分、秒。
(2)两个构造函数,一个通过传入的参数对时间初始化,另一个获取系统当前的时间。
(3)三个只读属性实现对时、分、秒的读取。
(4)一个方法用于对秒增加1秒(注意60进位的问题)。
3、设计一个Windows应用程序,在该程序中定义一个类和班级类,以处理每个学生的学号、姓名,语文、数学和英语三门课程的期末考试成绩,要求:
(1)能查询每个学生的总成绩。
(2)能显示全班前三名的名单。
(3)能显示单科成绩最高分和不及格的学生名单。
(4)能统计全班学生的平均成绩。
(5)能显示各科成绩在不同分数段的学生人数百分比。
设计提示:
(1)定义一个Student学生类,包含字段(学号、姓名、语文成绩、数学成绩、英语成绩)和属性(总成绩)等。
(2)定义一个StudentList班级类,包含一个Student类型的数组(用来保存全班学生的信息)以及若干个实现上述要求的方法等。
(3)设计用户操作界面,首先让用户能输入一个学生的信息,当单击“添加”按键时把这些信息添加到班级对象的学生数组中。
当单击“完成”按钮时调用班级类的方法来显示所要求统计的统计结果。
当用户在查询框中输入学生的名字后,并单击“查询”按钮时显示该学生的总成绩。
{intx1,y1,x2,y2;
x1=;
y1=Convert.ToInt16);
x2=);
y2=;
Pointp1=newPoint(x1,y1);
Pointp2=newPoint(x2,y2);
=(p2).ToString();
classPoint
{publicintX,Y;
publicPoint(intI,intJ){X=I;
Y=J;
publicdoubleDistance(Pointp)
{return-*-+-*-);
}}
x1:
0y1:
0,x2:
3y2:
4
则显示:
5
控件
属性设置
Text1
“”
Labe1
:
Text2
Label2
Text3
Button
+
{Timet=newTime();
=());
classTime
{inthour,minute,second;
publicintGethour(){returnhour;
publicintGetminute(){returnminute;
publicintGetsecond(){returnsecond;
publicTime()
{hour=minute=second=}
publicTime(inth,intm,ints)
{hour=h;
minute=m;
second=s;
publicvoidAddSecond()
{second++;
if(second>
=60){second=second%60;
minute++;
if(minute>
=60){minute=minute%60;
hour++;
}}
在text1、text2、text3中分别输入21、49、25,则获取当前时间21:
49:
25,按+即加1秒,隔几秒不点+后,再按+则加相应的值。
namespace_43
{classProgram
{privatestaticStudentListstulist;
staticvoidMain(string[]args);
{stulist=newStudentList();
Studentstu1=newStudent(“01”,”zhangsan”,90,85,89);
Studentstu2=newStudent(“02”,”lisi”,75,85,94);
Studentstu3=newStudent(“03”,”wanger”,90,79,80);
Studentstu4=newStudent(“04”,”qianyi”.30,50,55);
Studentstu5=newStudent(“05”,”sunwu”,45,67,38);
(stu1);
(stu2);
(stu3);
(stu4);
(stu5);
stringstr;
str=();
if(“语文”)||(“数学”)||(“英语”))(str);
else(str);
();
ClassStudent
{privatestringnumber;
privatestringname;
privatefloatchinese;
privatefloatmath;
privatefloatenglish;
publicStudent(stringnumber,stringname,floatchinese,floatmath,floatenglish)
{=number;
=name;
=chinese;
=math;
=english;
publicstringNumber
{get{return;
}}
publicstringName
{get{return;
publicfloatChinese
{set{=value;
}get{return;
publicfloatMath
{set{=value;
publicfloatEnglish
publicfloatTotal
{get{returnchinese+math+english;
}}}
ClassStudentList
{privateList<
Student>
list=newList<
();
privatefloatchieseAver;
privatefloatmathAver;
privatefloatenglishAver;
privatefloattotalAver;
publicvoidAdd(Students)
{publicfloatChineseAver
{get
{floats=0;
foreach(Studentstuinlist)
{s+=;
chineseAver=s/;
returnchineseAver;
publicfloatMathAver
mathAver=s/;
returnmathAver;
publicfloatEnglishAver
}
englishAver=s/;
returnenglishAver;
publicfloatTotalAver
totalAver=s/;
returntotalAver;
publicvoidsearchName(stringname)
{foreach(Studentstuinlist)
{if