C#实验报告.docx
《C#实验报告.docx》由会员分享,可在线阅读,更多相关《C#实验报告.docx(52页珍藏版)》请在冰点文库上搜索。
![C#实验报告.docx](https://file1.bingdoc.com/fileroot1/2023-5/28/f252b464-709c-4c50-baed-5842e374aeb9/f252b464-709c-4c50-baed-5842e374aeb91.gif)
C#实验报告
学生实验报告
(理工类)
课程名称:
C#程序设计实验专业班级:
11计算机科学与技术(单)
学生学号:
22学生姓名:
姜飞
所属院部:
信息技术学院指导教师:
蔡群
2013——2014学年第1学期
金陵科技学院教务处制
实验项目名称:
C#概述实验学时:
2
同组学生姓名:
实验地点:
1416
实验日期:
实验成绩:
批改教师:
批改时间:
1、实验目的
1、熟悉Visual的基本操作方法。
2、掌握了C#应用程序的基本操作过程。
3、掌握简单窗体控件:
Label、TextBox和Button的基本用法。
4、初步理解C#程序的特点。
2、实验要求
1、熟悉Windows系统的基本操作。
2、认真阅读本章相关内容,尤其是案例。
3、实验前进行程序设计,完成源程序的编写任务。
4、反复操作,直到不需要参考教材、能熟练操作为止。
3、实验设备及环境
设备:
奔腾4及奔腾4以上计算机
环境:
VisualStudio.NET2010
4、实验任务
1、设计一个简单的C#控制台应用程序,逐行显示自己的学号、姓名、专业等信息。
2、设计一个C#Windows窗体应用程序,实现个人信息(包括学号、姓名、性别、年龄、专业等)的输入操作。
5、核心代码
1、
namespace11
{classProgram
{staticvoidMain(string[]args)
{("mynumberis:
22");("\n");
("mynameis:
姜飞");("\n");
("mymajoris:
计算机");("\n");
();}}}
实验结果:
mynumberis:
22
mynameis:
姜飞
mymajoris:
计算机
2、
privatevoidbtnConfirm_Click(objectsender,EventArgse)
{
(”学号:
”++”,姓名:
”++”,性别:
”++”,年龄:
”++”,专业:
”+:
}
实验结果:
学号:
22
姓名:
姜飞
性别:
女
年龄:
21
专业:
计算机科学与技术
6、实验体会
本次实验是初次接触c#程序设计,感觉很陌生,但在实验过程中,却也体会到了很多乐趣。
例如对c#中输入输出的方法不熟练,经常把write和writeline等用错地方,但随着语句越写越多,也会发现其实C#编程还是很方便很有意思的。
另外本次实验,我掌握了简单窗体控件:
label、textbox、button的基本用法等,在以后的实验中,我觉得会更加有趣,学到的东西也会越来越丰富。
实验项目名称:
C#程序设计基础实验学时:
2
同组学生姓名:
实验地点:
1416
实验日期:
实验成绩:
批改教师:
批改时间:
一、实验目的
1、理解C#的值类型、常量和变量的概念。
2、掌握C#常用运算符以及表达式的运行规则。
3、了解C#的引用类型,理解数据类型转换、装箱和拆箱的区别。
2、实验要求
1、熟悉Visual的基本操作方法。
2、认真阅读本章相关内容,尤其是案例。
3、实验前进行程序设计,完成源程序的编写任务。
4、反复操作,直到不需要参考教材、能熟练操作为止。
3、实验设备及环境
设备:
奔腾4及奔腾4以上计算机
环境:
VisualStudio.NET2010
4、实验任务
1、设计一个简单的Windows应用程序,在文本框中随意输入一个日期,单击“确定”按钮时显示“这一天是星期几”。
2、设计一个简单的计算器,实现两个数的加、减、乘、除、求幂等计算。
3、设计一个简单的Windows程序,输入多个数字,然后排序并输出。
5、核心代码
1、
namespace_21
{publicpartialclassForm1:
Form
{publicForm1(){InitializeComponent();}
enumWeekday{星期天,星期一,星期二,星期三,星期四,星期五,星期六};
privatevoidbutton1_Click(objectsender,EventArgse){
DateTimedt=;
Weekdaywd=(Weekday);
="这一天是"+wd+".";}}}
实验结果:
在文本框中输入2013-11-14,则显示:
这一天是星期四。
2、
privatevoidbutton1_Click(objectsender,EventArgse)
{
doublea=;
doubleb=;
+=a+"加"+b+"的和是";
+=a+b+".";
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
doublea=;
doubleb=;
+=a+"减"+b+"的差是";
+=a-b+".";
}
privatevoidbutton3_Click(objectsender,EventArgse)
{
doublea=;
doubleb=;
+=a+"乘"+b+"的积是";
+=a*b+".";
}
privatevoidbutton4_Click(objectsender,EventArgse)
{
doublea=;
doubleb=;
+=a+"除"+b+"的商是";
+=a/b+".";
}
privatevoidbutton5_Click(objectsender,EventArgse)
{
doublea=;
doubleb=;
+=a+"的"+b+"次方是";
+=(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个数据:
,则输出:
排序之前为:
排序之后为:
6、实验体会
通过本次C#实验,我对C#Windows应用程序有了进一步的了解,比上次实验更加熟练地运用窗体中的label、button和txtBox等控件。
并且了解了C#的值类型、常量和变量的概念,掌握了C#常用运算符以及表达式的运行规则等。
而且自己设计窗体界面,也让我对C#的实验更加感兴趣。
实验项目名称:
C#程序的流程控制实验学时:
2
同组学生姓名:
实验地点:
1416
实验日期:
实验成绩:
批改教师:
批改时间:
一、实验目的
1、理解分支和循环的逻辑意义。
2、掌握C#的if、switch分支语句的使用方法。
3、掌握C#的while、do/while、for、foreach等循环语句的使用方法。
2、实验要求
1、熟悉Visual的基本操作方法。
2、认真阅读本章相关内容,尤其是案例。
3、实验前进行程序设计,完成源程序的编写任务。
4、反复操作,直到不需要参考教材、能熟练操作为止。
3、实验设备及环境
设备:
奔腾4及奔腾4以上计算机
环境:
VisualStudio.NET2010
4、实验任务
1、修改上机实验2的第三个实验任务,将输入的n个数字,通过for语句排序并输出。
注意,不允许使用()方法排序。
2、设计一个Windows应用程序,实现如下功能。
(1)输入学生姓名和考试成绩并保存到结构体数组中。
(2)使用foreach语句最高分并输出对应的姓名。
3、设计一个Windows应用程序,输入一行字符,检索是否存在重复的双字词汇,输出重复的次数。
五、核心代码
1、
namespace_31
{publicpartialclassForm1:
Form
{publicForm1()
{InitializeComponent();}
double[]a=newdouble[50];inti=0;
privatevoidbutton1_Click(objectsender,EventArgse)
{a[i]=;+=a[i]+"";i++;}
privatevoidbutton2_Click(objectsender,EventArgse)
{doublet;intj=0,k;
+="\n排序之后为:
";
for(j=0;jfor(k=j+1;k
if(a[j]>a[k]){t=a[j];a[j]=a[k];a[k]=t;}
for(j=0;j
实验结果:
输入5个数据:
,则输出:
排序之前为:
排序之后为:
2、
namespace-32
{publicpartialclassForm1:
Form
{publicForm1(){InitializeComponent();}
structstudent
{publicstringname;publicfloatscore;}
student[]persons=newstudent[10];inti=0;
privatevoidbutton1_Click(objectsender,EventArgse)
{persons[i].name=;
persons[i].score=;
+=persons[i].name+""+persons[i].score+"";i++;}
privatevoidbutton2_Click(objectsender,EventArgse)
{floatt=0;stringj=null;
foreach(studentcinpersons){
if(t<{t=;j=;="最高分:
"+j+""+t;}}}
}}
实验结果:
输入:
张三65添加李四78添加王二84添加钱一80
则显示学生成绩:
张三65李四78王二84钱一80
最高分:
王二84
3、
privatevoidbutton1_Click(objectsender,EventArgse)
{
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);
for(inti=0;i<10;i++)
{
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等循环语句的使用方法。
实验项目名称:
面向对象程序设计入门实验学时:
2
同组学生姓名:
实验地点:
1416
实验日期:
实验成绩:
批改教师:
批改时间:
一、实验目的
1、理解面向对象的概念,掌握C#的定义类和创建对象的方法。
2、区分类的不同数据成员,包括常量、字段、和属性的定义方法,并学会控制其可访问性。
3、掌握类的方法成员的声明与调用,理解各种参数在方法中的意义及使用。
4、理解构造函数和析构函数的作用机制。
二、实验要求
1、熟悉Visual2010的基本操作方法。
2、认真阅读本章相关内容,尤其是案例。
3、实验前进行程序设计,完成源程序的编写任务。
4、反复操作,直到不需要参考教材、能熟练操作为止。
三、实验设备及环境
设备:
奔腾4及奔腾4以上计算机
环境:
VisualStudio.NET2010
四、实验任务
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)设计用户操作界面,首先让用户能输入一个学生的信息,当单击“添加”按键时把这些信息添加到班级对象的学生数组中。
当单击“完成”按钮时调用班级类的方法来显示所要求统计的统计结果。
当用户在查询框中输入学生的名字后,并单击“查询”按钮时显示该学生的总成绩。
五、核心代码
1、
privatevoidbutton1_Click(objectsender,EventArgse)
{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
2、
控件
属性设置
控件
属性设置
Text1
“”
Labe1
:
Text2
“”
Label2
:
Text3
“”
Button
+
privatevoidbutton1_Click(objectsender,EventArgse)
{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秒,隔几秒不点+后,再按+则加相应的值。
3、
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;}get{return;}}
publicfloatEnglish
{set{=value;}get{return;}}
publicfloatTotal
{get{returnchinese+math+english;}}}
ClassStudentList
{privateListlist=newList();
privatefloatchieseAver;
privatefloatmathAver;
privatefloatenglishAver;
privatefloattotalAver;
publicvoidAdd(Students)
{publicfloatChineseAver
{get
{floats=0;
foreach(Studentstuinlist)
{s+=;}
chineseAver=s/;
returnchineseAver;}}
publicfloatMathAver
{get
{floats=0;
foreach(Studentstuinlist)
{s+=;}
mathAver=s/;
returnmathAver;}}
publicfloatEnglishAver
{get
{floats=0;
foreach(Studentstuinlist)
{s+=;}
englishAver=s/;
returnenglishAver;}}
publicfloatTotalAver
{get
{floats=0;
foreach(Studentstuinlist)
{s+=;}
totalAver=s/;
returntotalAver;}}
publicvoidsearchName(stringname)
{foreach(Studentstuinlist)
{if