C课程方案设计书2 .docx
精品名师归纳总结封面可编辑资料 - - - 欢迎下载精品名师归纳总结作者: PanHongliang仅供个人学习* 学院可编辑资料 - - - 欢迎下载精品名师归纳总结课程设计说明书( 2021/2021 学年第一学期)个人单词簿:放羊娃:2 周课程名称 :软件程序设计题 目 :专业班级同学姓名学 号: 指导老师 设计周数 设计成果 :2021 年 1 月 18 日可编辑资料 - - - 欢迎下载精品名师归纳总结2.1 系统分析 42.2 系统设计 5目录1 目的 42 设计部分 4可编辑资料 - - - 欢迎下载精品名师归纳总结2.2.1 个人单词簿系统的功能模块52.2.2 单词簿软件总体结构52.2.3 数据库系统设计 43 系统流程图 错误!未定义书签。4 设计步骤 44.1 建立数据库 错误!未定义书签。1.1 建立表 错误!未定义书签。4.2 登录界面设计( frmLogin) 错误!未定义书签。4.3 主界面设计( frmMain ) 错误!未定义书签。4.3.1 主菜单栏 错误!未定义书签。4.3.2 子菜单栏 错误!未定义书签。4.3.3 在主界面添加背景图片54.4 数据库连接 74.5设计浏览窗口74.6添加内容窗口74.7查询生词窗口8可编辑资料 - - - 欢迎下载精品名师归纳总结4.8 生词导出功能窗口104.9 生词考查测试栏 124.9.1 进入测试模式 12 5 程序调用的类 146 课程设计总结 161目的7 参考文献 17可编辑资料 - - - 欢迎下载精品名师归纳总结本课程设计是电子工程专业的一门软件实践专业基础课,旨在提高同学的软件编程能力。本设计将进一步加强同学对面对对象程序设计思想的懂得,增强对C#程序语言的灵敏运用。要求同学能结合数据库学问,实现基本的应用软件,为以后从事相关行业打下软件编程基础。2 设计部分2.1 系统分析个人单词薄系统所需要实现的功能是:1、 依据用户名和密码进入单词薄。2、 登录用户可完成对生疏单词的添加、导出、查询和考查功能。可编辑资料 - - - 欢迎下载精品名师归纳总结3、 使用 Windows 窗体和 C#语言来进行软件设计。由于涉及到了用户登录,生词的添加、查询、考查等相关操作,所以需要用到SQL SERVER数据库。4、 在完成以上功能以后,添加了可以联网查词的功能。2.2 系统设计2.2.1 个人单词簿系统的功能模块用户信息模块:用来治理用户的登录。主界面:用来添加生词、查询生词、导产生词和对生词的考查测试。添加生词模块:添加用户需要的生词信息。查询生词模块:用户依据需要查询生词信息。生词导出模块:导产生词。生词考查模块:通过考查测试用户记忆生词情形。2.2.2 单词簿软件总体结构个人单词簿系统用户登录子系统单词本簿子系统生生生生词词词词添查导测加找出试用添上图户为:个人单词簿系加统的总体结构2.2.3 数据库系统设计登用用录户信息表( Inf户oUser )可编辑资料 - - - 欢迎下载精品名师归纳总结列名模数据类型 模长度是模否为主键模是模否可为空模注释可编辑资料 - - - 欢迎下载精品名师归纳总结UserName块nvarchar 块20块 是 块块 否 块用户名可编辑资料 - - - 欢迎下载精品名师归纳总结UserPwdnvarchar20否否密码生词信息表( cihui )3 系统流程图列名数据类型长度是否为主键是否可为空注释Englishnvarchar20是否英语单词Leixingnvarchar20否否单词类型Chinesenvarchar20否否汉语说明可编辑资料 - - - 欢迎下载精品名师归纳总结开头进入登录界面判定用户名和密码是否正确错误重新登录主界面联网查询生词添加、查找、导出生词考查退出上图为:用户使用流程图4 程序设计步骤4.1 建立数据库建立两个表:添加用户信息表(InfoUser )、生词信息表(danci)。4.2 登录界面设计( frmLogin )当用户输入用户名和密码,点击登录按钮后,从数据库检索此想登录的用户的信息,假如登录名和密码与数据库里的一样,就登录进去,进入主界面,如其中一个错误或用户名不存在,就提示:用户名或密码错误。用户名和密码默认为: admin 与 1。代码为:privatevoidbtnLogin_Click objectsender ,EventArgs estringsql= "select*fromInfoUserwhereUserName='" +txtUsername.Text.Trim .ToLower +"'and UserPwd='" +txtPassword.Text.Trim+"'"。if OperateDB.ExecuteReader sql 可编辑资料 - - - 欢迎下载精品名师归纳总结frmMain frm= newfrmMain 。frm.Show 。this.Hide 。elseMessageBox.Show " 用户名或密码错误" 。 调试结果:4.3 主界面设计( frmMain )4.3.1 主菜单栏词吧浏览生词考查4.3.2 子菜单栏联网 在浏览窗口下有生词添加、查查4.3.3 在主界面添加背景图片询代码为:publicfrmMain InitializeComponent 。privatevoidApplicationprivatevoid退出 ToolStripMenuItem_Click object sender ,EventArgs e.Exit 。toolStripButton1_Click objectsender ,EventArgs efrmAdd frm= newfrmAdd 。frm.Show 。privatevoidApplicationprivatevoidfrmMain_FormClosing objectsender ,FormClosingEventArgse.Exit 。tabPage2_Click objectsender ,EventArgs e生生生考词词词查找、导出等操作添查导测加找出试可编辑资料 - - - 欢迎下载精品名师归纳总结/ public SQL sql = new SQL。privatevoidtoolStripButton3_Click objectsender ,EventArgs eForm1frm= newForm1 。frm.Show 。privatevoidtoolStripButton4_Click objectsender ,EventArgs efrmShuchu frm= newfrmShuchu 。frm.Show 。privatevoidlinkLabel1_LinkClicked objectsender ,LinkLabelLinkClickedEventArgseSystem.Diagnostics.Process .Start "" 。privatevoidApplicationprivatevoid退出 ToolStripMenuItem2_Click objectsender ,EventArgs e.Exit 。frmMain_SizeChanged objectsender ,EventArgs eif this.WindowState= FormWindowState .Minimizedthis.ShowInTaskbar= false。privatevoidnotifyIcon1_DoubleClick objectsender ,EventArgs ethis.Show 。if this.WindowState= FormWindowState .Minimizedthisthis this.WindowState= FormWindowState .Normal 。.Activate 。.ShowInTaskbar= true 。调试结果:4.4数据库连接测试能否连接到数据库4. 5 设计浏览窗口可编辑资料 - - - 欢迎下载精品名师归纳总结4.6 添加单词内容窗口代码为:添加生词查询生词导产生词英语单词单词类型汉语说明按钮: 添加可编辑资料 - - - 欢迎下载精品名师归纳总结privatevoidbtnOk_Click object sender ,EventArgs estringsql= "insertintodanciEnglish,Leixing,ChineseValues'"+txtEn.Text+"','"+txtLe.Text+"','"+txtCh.Text+"'"。if OperateDB.ExecutNonQuery sql =1MessageBox.Show " 添加成功! " 。elseMessageBox.Show " 添加失败! " 。调试结果:可编辑资料 - - - 欢迎下载精品名师归纳总结4.7 查询生词窗口点击添加按钮可编辑资料 - - - 欢迎下载精品名师归纳总结绑定生词信息表到窗口,按查询按钮进行查询。代码为:privatevoidbutton1_Click object sender ,EventArgs estringsql= "select English,Leixing,Chinese from danci where Englishlike '%" +textBox1.Text.Trim+"%'" 。ds=OperateDB.ExcuteDataSet sql 。dataGridView1.DataSource=ds.Tables 0 .DefaultView。调试结果:4.8 生词导出功能窗口添加导出的址,按导出按钮导出。程序为:privatevoidbtnShouchu_Click object sender ,EventArgs etry/ SqlConnection conn = new SqlConnectionConnString。/ 建立连接conn.Open 。可编辑资料 - - - 欢迎下载精品名师归纳总结StreamWriterwrite=newStreamWriter txtShuochu.Text,false, Encoding .Default 。/streamwrite实例化SqlCommandcomm=newSqlCommand 。/command对象实例化stringsplice。comm.Connection=conn 。comm.CommandTypeC=ommandTyp.eText 。/comm.CommandText = "select countDanCi from Infodanci"。comm.CommandText="select * from danci"。if comm.ExecuteScalar =null MessageBox.Show " 数据库许多据无法写入到文本中" 。SqlDataReader Read=comm.ExecuteReader 。while Read.Readsplice=Read 0 .ToString .Trim +"" +'t'+Read 1 .ToString .Trim +" " +'t'+Read 2 .ToString .Trim 。write.WriteLine splice 。/write.Flush 。/MessageBox.Show "词汇已在 " +txtShuochu.Text+" 生成 ." 。Read.Close 。conn.Close 。catch Exceptionerr MessageBox.Show err.Message 。privatevoidbtnLiulan_Click objectsender ,EventArgs eopenFileDialog1.ShowDialog 。txtShuochu.Text=openFileDialog1.FileName。txtShuochu.Text=openFileDialog1.FileName。openFileDialog1.Multiselect=true 。if openFileDialog1.ShowDialog=DialogResult.OKtrytxtShuochu.Text=openFileDialog1.FileName。catch Exceptionex可编辑资料 - - - 欢迎下载精品名师归纳总结throw ex 。调试结果:可编辑资料 - - - 欢迎下载精品名师归纳总结4.9 生词考查测试栏按钮有:开头显示单词添写该单词说明测试 和提交可编辑资料 - - - 欢迎下载精品名师归纳总结4.9.1 点击窗口的“开头测试”按钮,进入测试模式代码为:delegatevoidMyDele 。stringhanyi 。privatevoidbutton1_Click_1 objectsender ,EventArgs e可编辑资料 - - - 欢迎下载精品名师归纳总结开头显示单词添写说明提交可编辑资料 - - - 欢迎下载精品名师归纳总结MyDeledele= newMyDele kaocha 。dele.Invoke 。publicvoidkaocha N重新添写判定可编辑资料 - - - 欢迎下载精品名师归纳总结终止最终单词下个单词正误可编辑资料 - - - 欢迎下载精品名师归纳总结stringsql= "select Top 1 English, Chinese from danci order by newid"。SqlConnectioncon=newSqlConnection OperateDB.ConnString 。SqlCommandcmd=newSqlCommand sql , con 。con.Open 。SqlDataReader dr=cmd.ExecuteReader 。while dr.Read label1.Text=" 单词 :" + string dr "English" .ToString .Trim 。hanyi= string dr "Chinese" .ToString .Trim 。con.Close 。privatevoidbutton2_Click object sender ,EventArgs eif hanyi=textBox1.TextMessageBox.Show " 答案正确! " ," 提示 " 。MyDeledelee= newMyDele kaocha 。delee.Invoke 。可编辑资料 - - - 欢迎下载精品名师归纳总结elseif MessageBox.Show " 答 案 错误 !是 否继 续 ." ," 提示 " ,MessageBoxButtons .YesNo,MessageBoxIcon .Error=DialogResult.No MyDeledelee= newMyDele kaocha 。delee.Invoke 。调试结果 :5 程序调用的类:public class OperateDB/ <summary>/ 猎取连接数据库的字符串/ </summary>public static string ConnStringgetusingStreamReader sr=File.OpenText"Conn2DB.txt"return sr.ReadLine 。public static void PrepareCommandSqlCommand cmd,SqlConnection conn,string cmdTextifconn.State.=ConnectionState.Openconn.Open 。cmd.Connection=conn 。cmd.CommandType=CommandType.Text 。cmd.CommandText=cmdText 。/ <summary>/ 执行数据读取操作/ </summary>/ <param name="cmdText">SQL语句 </param>/ <returns> 假如猎取到值,返回true,否就是 false</returns>可编辑资料 - - - 欢迎下载精品名师归纳总结public static bool ExecuteReaderstring cmdTextusing SqlConnection conn = new SqlConnectionConnStringSqlCommand cmd = new SqlCommand 。PrepareCommandcmd, conn, cmdText 。SqlDataReader dr=cmd.ExecuteReader 。return dr.Read 。/ <summary>/ 执行数据增加、删除或修改等操作/ </summary>/ <param name="cmdText">SQL语句 </param>/ <returns> 返回操作影响的行数 </returns> public static int ExecutNonQuerystring cmdTextusing SqlConnection conn = new SqlConnectionConnStringSqlCommand cmd = new SqlCommand 。PrepareCommandcmd, conn, cmdText 。return cmd.ExecuteNonQuery 。/ <summary>/ 执行数据操作,将结果储存在数据集中。/ </summary>/ <param name="cmdText">SQL语句 </param>/ <returns> 数据集对象 </returns>public static DataSet ExcuteDataSetstring cmdTextusing SqlConnection conn = new SqlConnectionConnStringSqlCommand cmd = new SqlCommand 。PrepareCommandcmd, conn, cmdText 。SqlDataAdapter da = new SqlDataAdaptercmd 。DataSet ds = new DataSet 。da.Fillds 。return ds。5 课程设计总结可编辑资料 - - - 欢迎下载精品名师归纳总结1 刘甫迎、刘光会、王蓉.C# 程序设计教程(第2 版) . 北京:电子工业出版社,20212Microsoft Visual C# 2021 help, 20213 李兰友 杨晓光 .Visual C#.NET2004程序设计 . 北京:清华高校北方交通高校出版社,4 王昊亮,李刚等 .Visual C#程序设计教程 . 北京:清华高校出版社,2003版权申明课程设计评语课程设计指导老师年月日成果(签字)本文部分内容,包括文字、图片、以及设计等在网上搜集整在学校的按排下,我们信息专业有两周的软件课程设计。这次课程设计要求我们运用所学的 c#和 sql 数据库学问来做一个有用的小软件,我做的是个人单词簿软件。在做软件的过程中我遇到了许多问题,比如在安装、调试软件过程中总是不能连接,在窗口设计过程中结窗口属性的使用不娴熟、精确,代码的编写后不能解决错误等,最终在同学和老师的帮忙下,我经过努力的调试,最终把它完成。这次课程设计实践让我更好的加深了对所学理论学问的懂得,在实践中解决问题的过程中仍学到了课本是没有的学问。以后我要多实践理论,只有这样才能学有致用,提高自己。6 参考文献可编辑资料 - - - 欢迎下载精品名师归纳总结理。版权为潘宏亮个人全部This article includes some parts, including text, pictures, and design. Copyright is Pan Hongliang's personal ownership.用户可将本文的内容或服务用于个人学习、争论或观看,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵害本网站及相关权益人的合法权益。除此以 外,将本文任何内容或服务用于其他用途时,须征得本人及相关权益人的书面许可,并支付酬劳。Users may use the contents or services of this article for personal study, research or appreciation, and other non-commercial or non-profit purposes, but at the same time, they shall abide by the provisions of copyright law and other relevant laws, and shall not infringe upon the legitimate rights of this website and its relevant obligees. In addition, when any content or service of this article is used for other purposes, written permission and remuneration shall be obtained from the person concerned and the relevant obligee.转载或引用本文内容必需是以新闻性或资料性公共免费信息为使用目的的合理、善意引用,不得对本文内容原意进行曲解、修可编辑资料 - - - 欢迎下载精品名师归纳总结改,并自负版权等法律责任。Reproduction or quotation of the content of thisarticle must be reasonable and good-faith citation for theuse of news or informative public free information. Itshall not misinterpret or modify the original intention ofthe content of this article, and shall bear legal liabilitysuch as copyright.可编辑资料 - - - 欢迎下载