《Visual_c#_2010程序》课程设计报告.doc_第1页
《Visual_c#_2010程序》课程设计报告.doc_第2页
《Visual_c#_2010程序》课程设计报告.doc_第3页
《Visual_c#_2010程序》课程设计报告.doc_第4页
《Visual_c#_2010程序》课程设计报告.doc_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

琼州学院电子信息工程学院visual c# 2010程序课程设计报告项目名称: .net程序设计实验课程建设 专 业: 计算机科学与技术 年 级: 2010级 姓 名: 李欣 徐嘉 学 号: 10237058 10237070 指导老师: 熊志斌 2013年6月实 验实验1 c#语法基础实验目的:(1)掌握visual studio 2010 集成开发环境的使用方法;(2)掌握c#应用程序的基本结构、开发过程和方法;(3)掌握c#语言的基础知识及使用。实验要求:编写简单c#控制台应用程序:(1)定义学生成绩的数组;(2)对学生成绩排序;(3)按照从高分到低分顺序输出,并判断等级。实验准备和说明:(1)具备知识:数组定义,排序算法,选择结构的使用。(2)准备本次上机所需要的程序。(3)创建本次实验项目文件夹“visual studio 2010projects实验1”实验内容和步骤:1启动visual studio 2010打开计算机,启动microsoft visual studio2010系统。2创建工程并添加代码 选择“文件”“新建项目”菜单命令,显示出“新建项目”对话框。单击“已安装的模版”选项,在左边的列表框中选择visual c#语言,在右边的列表框中选择“控制台应用程序”在项目名称框中输入text。单击浏览按钮.将项目定位到文件夹 “ visual studio 2010projects实验3”。 using system; using system.collections.generic; using system.linq; using system.text; namespace test class program static void main(string args) int i, j, temp = 0; int sco = new int8 56, 77, 90, 76, 88, 57, 94, 81 ; /定义、初始化成绩的数组 string grade = new string8; /定义成绩等级数组 for (i = 0; i sco.length; i+) for (j = i + 1; j sco.length; j+) if (scoi scoj) temp=scoi; scoi = scoj; /对学生成绩排序 scoj = temp; for (i = 0; i sco.length; i+) /判断等级 int n = scoi / 10; switch(n) case 10:gradei = 优秀; break; case 9:gradei = 优秀;break; case 8:gradei = 良好; break; case 7: gradei = 中等; break; case 6: gradei = 及格; break; default: gradei = 不及格; break; console.writeline(排序后的分数及等级); for (i = 0; i ); c = c1 + c2; console.writeline(c.real.tostring() + + + c.image.tostring() + i); c = c1 - c2; console.writeline(c.real.tostring() + + + c.image.tostring() + i); c = c1 * c2; console.writeline(c.real.tostring() + + + c.image.tostring() + i); c = c1 / c2; console.writeline(c.real.tostring() + + + c.image.tostring() + i); console.readline(); 3运行并测试运行程序,结果如图2-1所示。图2-1复数的加减乘除示例图实验3 继承与多态实验目的:(1)初步掌握面向对象程序设计继承和多态的概念;(2)掌握继承和多态的c#实现方法;(3)了解继承和多态的作用。实验要求:设计基本几何图形的继承层次结构,并编程实现其中的类, 封装类中的所有字段,通过属性提供对外的接口;使用继承实现几何图形的层次结构(3层);计算各种图形的面积和周长;实验准备和说明:(1)具备知识:c#继承、接口、抽象方法、虚方法、多态。(2)准备本次上机所需要的程序。(3)创建本次实验项目文件夹“visual studio 2010projects实验3”实验内容和步骤:1启动visual studio 2010打开计算机,启动microsoft visual studio2010系统。2创建工程并添加代码 选择“文件”“新建项目”菜单命令,显示出“新建项目”对话框。单击“已安装的模版”选项,在左边的列表框中选择visual c#语言,在右边的列表框中选择“控制台应用程序”在项目名称框中输入ji_cheng。单击浏览按钮.将项目定位到文件夹 “ visual studio 2010projects实验3”。 在打开的文档窗口中输入下面的代码: using system; using system.collections.generic; using system.linq; using system.text; namespace ji_cheng class program public abstract class shape /抽象类 public abstract double area(); public abstract double length(); public class circle : shape /圆继承shape类 public double r; /半径 public double r / 属性r get return r; set r = value; public override double area() /面积 return math.pi * math.pow(r, 2); public override double length() /周长 return math.pi * 2 * r; public circle(double r) this.r = r; public class square : shape /正方形继承shape类 public double edge; /边长 public double edge /属性edge get return edge; set edge = value; public override double area() /重载area方法 return math.pow(edge, 2); public override double length() /重载length方法 return 4 * edge; public square(double edge) this.edge = edge; class test static void main(string args) console.writeline(请输入圆的半径:); double r = double.parse(console.readline(); shape p = new circle(r); console.writeline(圆的周长:0n圆的面积:1, p.length(), p.area(); console.writeline(请输入正方形的边长:); double edge = double.parse(console.readline(); shape e = new square(edge); console.writeline(正方形的周长:0n正方形的面积:1, e.length(), e.area(); console.readline(); 3运行并测试编译并运行程序,在提示命令符下输入圆的半径为5,按enter键,输入正方形的边长为4,按enter键,结果如图3-1所示。图3-1圆和正方形的周长及面积示例图4写出实验报告 35实验4 事件编程实验目的:(1)掌握事件的声明;(2)掌握事件处理程序的原理及应用;(3)定义事件处理函数。实验要求:设计一个账户类,包括账号,姓名,余额及密码等变量;定义成员变量的读写访问函数;定义一个事件,当余额发生改变时触发事件;设计一个类测试账户类中的事件。实验准备和说明:(1)具备知识:方法的重载、事件的声明与订阅。(2)准备本次上机所需要的程序。(3)创建本次实验项目文件夹“visual studio 2010projects实验4”实验内容和步骤:1启动visual studio 2010打开计算机,启动microsoft visual studio2010系统。2创建工程并添加代码 选择“文件”“新建项目”菜单命令,显示出“新建项目”对话框。在左边的列表框中选择visual c#语言,在右边的列表框中选择“控制台应用程序”在项目名称框中输入changed。单击浏览按钮.将项目定位到文件夹 “ visual studio 2010projects实验4”。在打开的文档窗口中输入下面的代码:using system;using system.collections.generic;using system.linq;using system.text;namespace changed class account private string number; /定义成员变量域 private string name; private double balanced; private string password; public delegate void changedeventhander(object sender, eventargs e); /定义委托代表类型 public event changedeventhander changed; /声明事件 protected virtual void onchanged(eventargs e) /用以触发事件 if (this.changed != null) this.changed(this, e); public double balance /定义balance属性 get return this.balanced; set this.balanced = value; /当balance属性被修改时,触发changed事件 this.onchanged(new eventargs(); public void account1(string number, string name, double balanced, string password) /存款 this.number = number; this.name = name; this.balanced += balanced; this.password = password; public void account2(string number, double balanced, string password) /取款 this.number = number; this.balanced -= balanced; this.password = password; public void outb() console.writeline(帳號:0, number); console.writeline(姓名:0, name); console.writeline(密碼:0, password); console.writeline(餘額:0, balanced); class test public static void main(string args) account d = new account(); /将事件处理程序添加到事件的调用列表中即订阅事件 d.changed += new account.changedeventhander(d_changed); d.account1(12345678567887112, 陈好, 2000.0, 543221); d.outb(); d.account2(12345678567887112, 300.0, 543221); d.outb(); string str = ; while (str != 0) console.writeline(please enter a string:); str = console.readline(); d.balance = system.convert.todouble(str); d.outb(); /事件处理函数 private static void d_changed(object sender, eventargs e) console.writeline(此人的余额已改变为:0n, (account)sender).balance); 3运行并测试编译并运行程序,在提示命令符中输入5000,显示结果如图4-1所示。图4-1 账户信息变动图实验5 文本编辑器的设计与实现实验目的要求目的:掌握面向对象程序设计方法以及winform开发技术。要求:设计并实现一个文本编辑器(1)实现新建文件、打开文件、保存文件、选择字体、设置颜色功能;(2)添加下拉菜单和弹出菜单,用于选择不同复制、粘贴、查找等文本编辑功能;(3)添加工具栏,工具栏设置若干按钮,用于选择不同的文本编辑功能;(4)添加状态栏,显示状态提示信息。实验准备和说明(1)具备知识:winform的应用、菜单、工具栏、状态栏。(2)准备本次上机所需要的程序。(3)创建本次实验项目文件夹“visual studio 2010projects实验5”实验内容和步骤1启动visual studio 2010打开计算机,启动microsoft visual studio2010系统。2创建一个默认的对话框用用程序form1选择“文件”“新建项目”菜单命令,显示出“新建项目”对话框。在左边的列表框中选择visual c#语言,在右边的列表框中选择“windows窗体应用程序”,在项目名称框中输入wen_ben。单击浏览按钮.将项目定位到文件夹 “ visual studio 2010projects实验5”。3添加菜单在左边的“工具箱”中选择,在form1窗体上单击即可显示出菜单栏,在menustrip1属性窗口中选择“items”属性,点击打开“项集合编辑器”,在左上方下拉条中选择menuitem,点击“添加”,然后选中被添加的toolstripmenuitem1,将其text属性更改为“文件(f)”。在项集合编辑器中按照上述步骤一次添加“编辑(e)”、“格式(o)”、“查看(v)”、“帮助(h)”菜单项,显示效果如图下图。选中“文件”,单击dropdownitems属性,打开项集合编辑器,在左上方选择menuitem,单击“添加”,在成员列表中出现“toolstripmenuitem1”,在右边的属性列表中选择text属性,将toolstripmenuitem1改为“新建”,在shortcutkeys属性中添加ctrl+n快捷键。根据表5-1所示菜单项,参照图5-1设计“文件”菜单。表5-1 “文件”菜单添加的成员成员nametextshortcutkeys新建(n)新建toolstripmenuitem新建ctrl+n打开(o)打开otoolstripmenuitem打开ctrl+o保存(s)保存stoolstripmenuitem保存ctri+s另存为另存为toolstripmenuitem另存为页面属性页面属性toolstripmenuitem页面属性打印(p)打印ptoolstripmenuitem打印退出退出toolstripmenuitem退出ctrl+e根据表5-2所示菜单项,参照图5-2设计“编辑”菜单。表5.2 “编辑”菜单添加的成员成员nametextshortcutkeys撤销(u)退出toolstripmenuitem撤销ctri+u复制(c)复制ctoolstripmenuitem复制ctrl+c剪切(x)剪贴xtoolstripmenuitem剪贴ctrl+x粘贴(p)粘贴toolstripmenuitem粘贴ctrl+p删除(l)删除ltoolstripmenuitem删除delete查找(f)查找toolstripmenuitem查找ctrl+f替换(r)替换toolstripmenuitem替换ctrl+h全选(a)全选atoolstripmenuitem全选ctrl+a时间/日期(d)时间/日期toolstripmenuitem时间/日期f5根据表5-3所示菜单项,参照图5-3设计“格式”菜单。表5.3 “格式”菜单添加的成员成员nametextshortcutkeys自动换行(w)自动换行toolstripmenuitem自动换行字体(f)字体toolstripmenuitem字体颜色颜色toolstripmenuitem颜色根据表5-4所示菜单项,参照图5-4设计“查看”菜单。表5.4 “查看”菜单添加的成员成员nametextshortcutkeys状态栏状态栏toolstripmenuitem状态栏根据表5-5所示菜单项,参照图5-5设计“帮助”菜单。表5.5 “帮助”菜单添加的成员成员nametextshortcutkeys关于记事本(a)关于记事本toolstripmenuitem关于记事本 图5-1文件菜单项 图5-2 编辑菜单项 图5-3 格式菜单项 图5-4 查看菜单项 图5-5 帮助菜单项4添加文本框在左边的“工具箱”中选择,在form1窗体上单击即可显示出来。5添加窗体 在form1窗体中添加一个窗体命名为formfind,text属性为“查找”,参看图5-6的控件布局,为formfind对话框添加表5-6的一些控件图5-6 “查看”对话框布局添加的控件nametextlabel1label1查找内容:textbox1textbox1button1button1查找button2button2取消表5.6 “查看”对话框添加的控件a. 在formfind中添加如下代码public partial class formfind : form public formfind() initializecomponent(); public richtextbox rtb; int start = 0;/查找的起始位置? string nr = ;/查找的内容 richtextboxfinds f = 0;b. 双击“查找”按钮,添加如下代码private void button1_click(object sender, eventargs e) nr = this.textbox1.text; /查找 start = rtb.find(nr, start, f); if (start = -1) messagebox.show(对不起查找不到与+ nr +相符的内容, (记事本)查找提示, messageboxbuttons.ok, messageboxicon.asterisk); start = 0; else start = start + nr.length;/找到后从找到位置之后开始下一次 rtb.focus(); /给予焦点 c. 双击“取消”按钮,添加如下代码private void button2_click(object sender, eventargs e) close(); 为form1窗体添加一个窗体,命名为tihuan,text属性为“替换”,参看图5-7的控件布局,为tihuan对话框添加表5.7的一些控件。图5-7 “替换”对话框添加的控件nametextlabel1label1查找内容:textbox1textbox1label2label2替换为:textbox2textbox2button1button1查找下一个button2button2替换button3button3全部替换button4button4取消表5.7 “替换”对话框添加的控件a. 为tihuan对话框添加如下代码public partial class tihuan : form public tihuan() initializecomponent(); public richtextbox rtb; int start = 0;/开始位置 string nr = ;/定义内容字符串 string th = ;/定义转换字符串 richtextboxfinds f = 0; int i = 0;b. 双击“查找下一个”按钮,添加下列代码private void button1_click(object sender, eventargs e) nr = this.textbox1.text;/将textbox1中的内容赋值给 start = rtb.find(nr, start, f);/开始的位置是找到的内容 if (start = -1)/找不到啊 messagebox.show(对不起查找不到与+ nr +内容相匹配的信息,记事本查找提示信息, messageboxbuttons.ok, messageboxicon.asterisk); start = 0;/返回开始位置 else start = start + nr.length;/找到后从找到位置之后开始下一次 rtb.focus(); /给予焦点,此处不解 c. 双击“替换”按钮,添加下列代码private void button2_click(object sender, eventargs e) nr = this.textbox1.text;/找的内容 th = this.textbox2.text;/替换的内容 / rtb.selectedtext = th; /start = rtb.find(nr, start, f); if (start = -1) messagebox.show(对不起查找不到与+ nr + 内容相匹配的信息,记事本查找提示信息, messageboxbuttons.ok, messageboxicon.asterisk); else rtb.selectedtext = th; / start = start + th.length;/找到后从找到位置之后开始下一次 / rtb.focus(); /给予焦点 d. 双击“全部替换”按钮,添加下列代码private void button3_click(object sender, eventargs e) nr = this.textbox1.text;/找的内容 th = this.textbox2.text; start = rtb.find(nr, start, f); while (s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论