您好,欢迎访问三七文档
《C#.net程序设计》课程设计设计报告学号211301036姓名魏澜指导教师孙庆英题目通讯录的设计与实现计算机科学与技术学院2015年6月11日课程设计2摘要:日益繁多的人际交往使得我们很难搞清楚与每个人之间的联系方式,特别是对于做经常出差的人来说更是难,所以通讯录能够便捷的给我们带来所需要的相关信息。而随着计算机的普及,人们的生活摆脱了传统式的记事本、电话簿,越来越多的靠计算机来帮助人们记住这些事情,极其简便。这就需要有一个使用的通讯录管理系统,用户可以方便的通过自己电脑的通讯录管理系统,来随时查阅自己所需要的信息,而不必再大费周折去翻开那繁琐的记事本。通讯录管理系统是一个专门针对储存用户联系方式以及一些简单个人信息的实用管理系统,它方便了用户对众多客户、朋友、同事等个人信息的储存和快速查阅的功能,大大减少了查找过程的时间。课程设计3目录1.需求分析.......................................................................................41.1输入的形式和输入值的范围.................................................41.2输出的形式..............................................................................41.3程序所能达到的功能.............................................................41.4测试数据.................................................................................42.概要设计.......................................................................................72.1抽象数据的定义......................................................................72.2主流程图..................................................................................72.3各模板之间的层次..................................................................83.详细设计.......................................................................................93.1类的定义与操作......................................................................93.2功能的实现............................................................................174.调试分析.....................................................................................174.1调试过程中的问题及解决方案............................................174.2经验与体会............................................................................185.用户使用说明.............................................................................186.测试结果.....................................................................................227.参考文献.......................................................................................22课程设计41需求分析一.整体设计1.1设计构思通讯录管理系统功能需求分析:通讯录管理系统主要功能分为三个模块:用户登录、系统维护以及数据的备份输出。用户登录:实现管理员用户与游客用户的不同权限,对系统的实用权的区别系统维护:包括对用户的添加,信息添加、删除、、查找、排序、修改,修改密码,注销等操作数据的备份:主要是对相关信息的备份,输出,打印。以便日后查询,使用。1.3开发及运行环境:本系统开发平台及运行环境如下:系统开发平台:MicrosoftVisualStudio2010系统开发语言:C#运行平台:WindowsXP(SP2)/Windows7(32位或64位)/WindowsServer2003(SP1)运行环境:MicrosoftVisualStudio20102.概要设计课程设计55.用户使用说明1.首先进入系统你会看见如下界面:2.添加修改分组namespaceAddressList{classTreeXML{。。。//第2步所添加的成员、构造函数和析构函数,在此省略/*添加组名,XMLFilePath为XML文件路径,NodeName为所添加分组的组名*/publicvoidAddXmlNode(stringXMLFilePath,stringNodeName){xmldocument.Load(XMLFilePath);XmlNoderoot=xmldocument.SelectSingleNode(List);//查找ListXmlElementxe1=xmldocument.CreateElement(组名);//创建一个组名节点课程设计6xe1.InnerText=NodeName;//设置节点的串联值root.AppendChild(xe1);//添加到List节点中xmldocument.Save(XMLFilePath);//将XML文档保存到指定的文件中}/*读取分组的XML文件并显示在TreeView控件上*/publicvoidXMLToTree(stringXMLFilePath,TreeViewTheTreeView){thetreeview=TheTreeView;xmldocument.Load(XMLFilePath);//读取XML文件XmlNoderoot=xmldocument.SelectSingleNode(List);//选择匹配List的第1个节点foreach(XmlNodesubXmlnodinroot.ChildNodes)//遍历此所有子节点{if(subXmlnod.Name==组名)//子节点的限定名为“组名”{TreeNodetrerotnod=newTreeNode();//实例化一个树节点trerotnod.Text=subXmlnod.InnerText;//将子节点串联值作为树节点名称thetreeview.Nodes.Add(trerotnod);//添加此树节点}}}/*删除分组,其中NodeName为所要删除的组名*/publicvoidDeleXml(stringXMLFilePath,stringNodeName){xmldocument.Load(XMLFilePath);/*获取List节点下的所有子节点*/XmlNodeListxnl=xmldocument.SelectSingleNode(List).ChildNodes;foreach(XmlNodexdinxnl)//遍历{课程设计7XmlElementxe=(XmlElement)xd;//转换为XmlElement类型if(xe.InnerText==NodeName){xe.ParentNode.RemoveChild(xe);//删除此节点以及此节点下的所有节点xmldocument.Save(XMLFilePath);//保存}}}/*更改分组名称,OldNodeName为原组名,NewNodeName为更改后的组名*/publicvoidAlterXml(stringXMLFilePath,stringOldNodeName,stringNewNodeName){xmldocument.Load(XMLFilePath);XmlNodeListxnl=xmldocument.SelectSingleNode(List).ChildNodes;foreach(XmlNodexdinxnl)//遍历所有子节点{XmlElementxe=(XmlElement)xd;//将子节点类型转换为XmlElement类型if(xe.InnerText==OldNodeName)//如果为要修改的节点{xe.InnerText=NewNodeName;//则修改xmldocument.Save(XMLFilePath);//保存}}}/*获得所选中的分组中的所有联系人信息表,NodeName为组名*/publicDataTableGetPersonInfo(stringXMLFilePath,stringNodeName){xmldocument.Load(XMLFilePath);XmlNodeListxnl=xmldocument.SelectSingleNode(CONTENTS).ChildNodes;DataTabledt=newDataTable();//实例化一个DataTabel对象dt课程设计8dt.Columns.Add(ID,typeof(string));//添加列名为“ID”dt.Columns.Add(姓名,typeof(string));dt.Columns.Add(出生时间,typeof(string));dt.Columns.Add(电话,typeof(string));dt.Columns.Add(Email,typeof(string));dt.Columns.Add(QQ,typeof(string));dt.Columns.Add(性别,typeof(string));dt.Columns.Add(地址,typeof(string));dt.Columns.Add(备注,typeof(string));foreach(XmlNodexdinxnl)//遍历所有子节点{XmlElementxe=(XmlElement)xd;//将子节点类型转换为XmlElement类型if(xe.GetAttribute(所在分组)==NodeName)//“所在分组”属性值如为指定的分组{DataRowmyRow=dt.NewRow();//新建一行myRow[ID]=xe.ChildNodes.Item(0).InnerText;myRow[姓名]=xe.ChildNodes.Item(1).InnerText;myRow[出生时间]=xe.ChildNodes.Item(2).InnerText;myRow[电话]=xe.ChildNodes.Item(3).InnerText;myRow[Email]=xe.ChildNodes.Item(4).InnerText;myRow[QQ]=xe.ChildNodes.Item(5).InnerText;myRow[性别]=xe.ChildNodes.Item(6).InnerText;myRow[地址]=xe.ChildNodes.It
本文标题:通讯录的设计与实现
链接地址:https://www.777doc.com/doc-2007328 .html