ImageVerifierCode 换一换
格式:DOCX , 页数:38 ,大小:1.80MB ,
资源ID:19882741      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19882741.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(广工C#与NET课程实验Word文档格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

广工C#与NET课程实验Word文档格式.docx

1、部分核心代码:ArrayLista1= new ArrayList();Random ran = new Random();int m = ran.Next(); /设置随机种子for (int i = 0; i 10; +i) Random r = new Random(m * i + m); /设置随机数 al.Add(r.Next(0, 200); /将数据存入顺序表 Console.Write(0 , ali);/打印输出该随机数顺序表2. 利用上述数据,生成完全二叉树首先需要考虑树的结构,要设计其数据结构,也就是设计它的类体结构和相关构造器。然后进行创建完全二叉树:先定义一个根节点,

2、再一个一个取出顺序表中的随机数,并插入到生成树中。/*树的节点类*/class Node private int data; /数据 private Node lChild; /左孩子 private Node rChild; /右孩子 public bool hasData = false; /该节点数据是否初始化/*构造函数*/ public Node() data = 0; lChild = null; rChild = null; public Node(int val) data = val; Node head1 = new Node(int)al0); BiTree tree1

3、= new BiTree(head1); tree1.createTree(al); /生成完全二叉树定义完全二叉树类体,继而生成一个完全二叉树。/*二叉树*/ class BiTree private Node head; /头节点 private ArrayList inOrderDatas; /安中序遍历读取的数据 private ArrayList al; /原始顺序表 /*二叉树构造函数*/ public BiTree(Node headNode) head = headNode; head.hasData = true;/* 创建二叉树, 参数为一个顺序表 */ public vo

4、id createTree(ArrayList al) this.al = al; /初始化对象的顺序表 int now = 1; /第一个结点编号为1 insertTree(now, this.Head); /插入结点/* 对树插入结点,第一个参数为结点编号,编号从1开始, 第二个参数为需要插入的结点 */ public void insertTree(int now, Node root) /* 对需要插入的结点编号对应的顺序表数据下标进行判断, 若在数据数目范围之内,则插入数据于结点(相当于插入结点于树), 否则返回*/ if (now - 1 al.Count) /now - 1为数据

5、的顺序表下标,应小于数据的数目 int item = (int)alnow - 1; root.Data = item; /将数据插入到结点 root.hasData = true; else root.hasData = false; return; root.LChild = new Node(); /为结点的左孩子结点分配内存 root.RChild = new Node(); /为节点的右孩子节点分配内存 insertTree(2 * now, root.LChild); /为左孩子插入数据 insertTree(2 * now + 1, root.RChild); /为右孩子插入数据

6、 /* 左孩子数据有无判断, 若无数据则置左孩子为null */ if (root.LChild.hasData = false) root.LChild = null; /* 右孩子数据有无判断, 若无数据则置右孩子为null */ if (root.RChild.hasData = false) root.RChild = null;3. 生成二叉排序树运用递归思想,将顺序表中的随机数不断插入到树种。/*生成BSTree*/ public void createBSTree(ArrayList al) for (int i = 1; this.al.Count; insertBSTree(

7、i, this.Head);public void insertBSTree(int now, Node root) /*为插入的结点输入数据*/ if (root.hasData = false) root.Data = (int)alnow; root.hasData = true; root.RChild = null; if (int)alnow root.Data) if (root.LChild = null) insertBSTree(now, root.LChild); /插入左孩子 if (root.RChild = null) insertBSTree(now, root.

8、RChild); /插入右孩子4. 判断二叉树是否为二叉排序树/*判断当前BiTree对象是否为二叉排序树*/ public bool isBSTree() /*获得树的中序遍历数据*/ ArrayList datas = this.getInOrderDatas(this.Head); bool isBST = true; /*按二叉排序树定义,当中序遍历所得数据中,后面的数据小于前面的数据,则并非二叉排序树*/ for(int i = 1; datas.Count; if (int)datasi rh ? lh : rh) + 1;给出程序运行截图:效果示意图如下所示:心得小结:C#的控制

9、台程序的开发体会,在比对了C和JAVA相关的开发经历之后。个人感觉C#的开发工具的体验很好,毕竟是有微软官方提供的开发工具,功能很强大。另外就是C#是基于面向对象的语言,所以采用面向对象的思想比较多,整体来说跟java开发的感觉差不多。实验二:窗体应用程序设计1.5 实验目的1学习视窗用户界面程序的基本开发方法和思路。2掌握VS 的可视化UI设计1.6 实验内容1) 基于窗体用户界面,创建一个简单的通讯录应用程序:2) 可记录个人的姓名、性别、居住地址、生日、工作单位、电话、评价;3) 其中“评价”,指对某人可以给以简短的评语,字数在300字以内;4) 可以对某人写评语,每次评语按时间记录,时

10、间:yyyyMMddHH。一个小时内可以写一次。5) 支持按时间查看对某个人的历次评语。6) 支持查、增、删、改,等四大基本功能。7) 要求使用XML或数据库存贮。自选一种方式8) 要求按用户分配权限,包括:全权用户;可写用户-可以编写评语但不能更改其它信息;只读用户-只能看不能修改任何信息;非法用户-除了上述三类用户以外的其它用户1.7 实验报告简述上述7大功能的算法思想,和主要设计流程。给出程序运行截图。1.首先,考虑数据的存储,采用了与SQLSever数据库结合的方式。所以是基于MicrosoftVisualStudio2013的C#窗体程序设计加上MicrosoftSQLSever20

11、05数据库管理系统的开发环境。根据需求建立了list数据库,该database包含了两个table,分别是用于存储登陆信息的数据表user_table和用于存储联系人相关信息的数据表Personal_info。如图所示,数据库list相关信息:2.相关数据表设计:数据表Personal_info的设计,包含7个属性列,以name为主键。数据表Personal_info在数据库中实际数据存储的效果数据表user_table的设计,包含3个属性列,以UserIS为主键。数据表user_table在数据库中实际数据存储的效果3.登录和注册界面的设计登录界面设计:注册账号界面:连接系统安装的数据相关语

12、句: private string ConnecttionString = Data Source = SHIXIAN-PC; + Initial Catalog = list;Persist Security Info = true; +Trusted_Connection=SSPI; private SqlConnection conn = null; private SqlDataAdapter DateAdapter = null; private DataSet dateset = null; conn = new SqlConnection(ConnecttionString);c

13、ommand = new SqlCommand();command.Connection = conn; command.CommandText = strSql; conn.Open(); command.ExecuteNonQuery();登录检查联系人登陆信息功能的实现代码:private string checkedId() string result = null;string strSql = SELECT CASE WHEN U.uPassword = ? THEN 1 ELSE 0 END strSql += FROM user_table U WHERE U.UserId =

14、 + textBox1.Text; SqlCommand command = null; try command = new SqlCommand(); command.Connection = conn; command.CommandText = strSql; catch (Exception ex) MessageBox.Show(ex.Message); result = 0 finally if (conn != null) conn.Close(); command.Dispose(); return result;程序主界面:/*主界面连个按钮的点击响应,分别跳转新的From*

15、/ private void button2_Click(object sender, EventArgs e) Form1 form1 = new Form1(); form1.Show(); private void button3_Click(object sender, EventArgs e) Form3 form3 = new Form3(); form3.Show();添加联系人界面:保存按钮的点击相应事件,主要是获取填入的信息,并对此先进行预处理,判断是否有信息缺失。继而进行数据库连接操作,最终将信息保存到数据库list的Personal_info的表格中。其中也进行的异常处理

16、机制的完善。private void button1_Click(object sender, EventArgs e) string strSql = null; strSql = INSERT INTO Personal_Info VALUES(, + comboBox1.SelectedItem.ToString(); + textBox2.Text; + dateTimePicker1.Value.ToString(yyyy-MM-dd); + textBox4.Text; + textBox15.Text; + richTextBox1.Text + ) MessageBox.Sho

17、w(请输入完整的个人信息。 command = new SqlCommand(); int n = command.ExecuteNonQuery(); if (n 0) MessageBox.Show(成功保存!, 提示: catch(Exception ex)发生异常:+ex.Message); this.Close();点击查询联系人按钮的时候:跳转到新的Form,进行联系人查询相关。联系人查询相关Form,具有直接显示原始数据库中数据的datagridview。并且可以根据相关检索条件进行相关检索查询。还有根据选的指定联系人,进行删除操作或进行查看联系人详细信息操作,继而可以进行修改联

18、系人信息和更新操作。查询数据库中存在的联系人纪录,并且将查询的全部数据显示到datagridview中的方法:public void showData(string str) string strSql = str; conn.Open(); DateAdapter = new SqlDataAdapter(); dateset = new DataSet(); DateAdapter.SelectCommand = command; DateAdapter.Fill(dateset, t1 dataGridView1.DataSource = dateset; dataGridView1.D

19、ataMember = 数据加载成功! MessageBox.Show(ex.Message); if (conn !根据选的指定联系人,进行查看联系人详细信息操作,继而可以进行修改联系人信息和更新操作。这里需要把当前用户选中的联系人的姓名作为传递参数,因为需要在查看联系人界面作为数据查询相关具体信息的条件码。而且姓名也是该数据表的主键,所以具有唯一标识性。 private void button1_Click(object sender, EventArgs e) int index = dataGridView1.SelectedRows0.Index; /获取选中行的行号 DataGri

20、dViewRow s = dataGridView1.Rowsindex; Form1 form1 = new Form1(s);将被选中的DataGridViewRow作为传递参数。跳转到查看联系人界面,此时打开的新的Form,并且根据从上一个form传递过来的参数中获取DataGridViewRow,再加载到相应的数据框中。值得一提的是因为姓名是主键,因此不提供修改。获取DataGridViewRow各列的数据并填充到相应的数据框中。public Form1(DataGridViewRow str) InitializeComponent(); /Cells0为要选的第几列 sname = str.Cells0.Value.ToString();

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1