1、c#课程设计*学院课程设计说明书(2012/2013学年第一学期)课程名称 : 软件程序设计 题 目 : 个 人 单 词 薄 专业班级 : 学生姓名 : 放羊娃 学 号 : 指导教师 : 设计周数 : 2周 设计成绩 : 2013年1月18日2012年1月13日目录1引言.2 1.1课程设计的目的 .21.2课程设计的内容及要求.21.3设计步骤 .22任务简述.2 2.1课设任务.2 2. 2软件流程图. 3 2.3系统设计.3 2.4系统界面设计.3 2.5 软件结构图.42.7 用户基础信息表.4 3 使用说明.4 3.1 添加.43.2查询.533练习.53.4导出.63.5关于.63
2、.6过程中的错误64 软件代码 .65个人总结.116参考文献.117. 教师签字及评语.12个人单词薄软件1引言1.1课程设计的目的本课程设计是通信工程专业的一门软件实践专业基础课,旨在提高学生的软件编程能力。本设计将进一步加强学生对面向对象程序设计思想的理解,增强对C#程序语言的灵活运用。要求学生能结合数据库知识,网络通信技术,实现基本的应用软件,为以后从事相关行业打下软件编程基础。1.2 课程设计内容和要求本课程设计题目和要求如下:个人单词簿生词录入、查询功能;随机考查用户是否掌握了生词,并根据掌握程度来计算是否以后还需继续考查;导出词汇功能。1.3 设计步骤1、分析题目;2、设计软件实
3、现方案;3、画软件框架结构图、关键程序流程图,设计数据库;4、编程实现软件;5、调试软件,修改程序错误,直至正确完成技术要求;6、发布软件,撰写软件使用说明书。2 任务简述2.1课设任务1.根据技术要求和现有开发环境,分析题目2.选定方案3.使用C#语言和.net框架,并结合数据库,实现软件4.调试、修改并完善程序2.2 软件流程图2.3系统设计1.功能方面:添加,查询,练习,导出等2.性能:用户可以钢价便利的记忆复习单词3.输入:用户通过外接键盘进行输入2.4系统界面设计用户可以根据登录界面上的各个按钮进行单词库的插入、修改、删除功能,以及帮助系统等功能,用于建立自己的词汇库,简单实用方便快
4、捷,可行性极高。2.5 软件结构图2.7 用户基础信息表3 使用说明 主界面模块的主要功能为: 主功能界面包括编辑中的添加和查询,练习,导出及软件关于,使用说明五个按钮,触发每个按钮会有相应的功能实现。3.1添加根据用户的需求对词库数据表进行添加操作。保证词库的更新速度,耐用持久。3.2查询方便用户进行单词的查询,进行复习,背诵。3.3练习点击开始测试,出现单词,用户需要输入汉语意思,进行单词的考试练习,有利于对单词的记忆。练习功能,有利于进行考核生单词,加强记忆,3.4导出本软件默认导出到电脑中E:、单词.txt文件内,方便用户进行拷贝,3.5. 软件关于、使用说明 这两个按钮的设置主要是为
5、了方便用户,提供一些帮助消息3.6过程中的错误添加中出现的错误 if (textBox1.Text.Trim().Length != 0) string sql = insert into Table1(word,yinbiao,jieshi,zhushi)Values( + textBox1 + , + textBox2 + , + textBox3 + , + textBox4 + ); /try / if (OperateDB.ExecuteNonQuery(sql) = 1) MessageBox.Show(添加成功!); else MessageBox.Show(添加失败!); 错误
6、在于: 少了.Text 正确的是:string sql = insert into Table1(word,yinbiao,jieshi,zhushi)Values( + textBox1.Text + , + textBox2.Text + , + textBox3.Text + , + textBox4.Text + );4软件代码4.1添加和清除功能using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using Sy
7、stem.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace 个人单词薄 public partial class form3 : Form public form3() InitializeComponent(); private void button1_Click(object sender, EventArgs e) if (textBox1.Text.Trim().Length != 0) string sql = insert into Table1(word
8、,yinbiao,jieshi,zhushi)Values( + textBox1.Text + , + textBox2.Text + , + textBox3.Text + , + textBox4.Text + ); /try / if (OperateDB.ExecuteNonQuery(sql) = 1) MessageBox.Show(添加成功!); else MessageBox.Show(添加失败!); / /catch / / MessageBox.Show(数据录入失败,记录不能重复!); / else MessageBox.Show(请输入单词!); private vo
9、id textBox1_TextChanged(object sender, EventArgs e) private void textBox2_TextChanged(object sender, EventArgs e) private void button2_Click(object sender, EventArgs e) textBox1.Text = ; textBox2.Text = ; textBox3.Text = ; textBox4.Text = ; 测试和提交功能代码using System;using System.Collections.Generic;usin
10、g System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;using System.Web;using System.IO;namespace 个人单词薄 public partial class F3 : Form public F3() InitializeComponent(); delegate void MyDele(); string
11、hanyi; private void button1_Click(object sender, EventArgs e) MyDele dele = new MyDele(kaocha); dele.Invoke(); public void kaocha() string sql = select Top 1 word, jieshi from Table1 order by newid(); SqlConnection con = new SqlConnection(OperateDB.ConnString); SqlCommand cmd = new SqlCommand(sql, c
12、on); con.Open(); SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read() label1.Text = 单词: + (string)drword.ToString().Trim(); hanyi = (string)drjieshi.ToString().Trim(); con.Close(); private void button2_Click(object sender, EventArgs e) /hanyi.capacity(50); if (hanyi = textBox1.Text) MessageBox.S
13、how(答案正确!, 提示); MyDele delee = new MyDele(kaocha); delee.Invoke(); else if (MessageBox.Show(答案错误!是否继续?, 提示, MessageBoxButtons.YesNo, MessageBoxIcon.Error) = DialogResult.Yes) MyDele delee = new MyDele(kaocha); delee.Invoke(); textBox1.Text = ; 查询功能代码using System;using System.Collections.Generic;usin
14、g System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace 个人单词薄 public partial class Form4 : Form public Form4() InitializeComponent(); SqlDataAdapter da = new SqlDataAdapter(); DataSet ds = new
15、 DataSet(); private void textBox1_TextChanged(object sender, EventArgs e) private void button1_Click(object sender, EventArgs e) string sql = select word as 单词,yinbiao as 音标,jieshi as 解释,zhushi as 注释 from Table1 where word like% + textBox1.Text.Trim() + %; ds = OperateDB.ExcuteDataSet(sql); dataGrid
16、View1.DataSource = ds.Tables0.DefaultView; 5 个人总结经过了近两周的时间,利用C#.NET开发的电子词典程序终于完成了。本程序是针对大众需求现状的分析之后,确定了程序涉及的领域,包括了界面设计、功能设计、数据库设计等,是一个具有实际应用意义的程序。 经过这次的课题的设计与实现,尽管遇到了很多很多难题,但是我们小组也在这次课程设计中得到了许多经验、心得和锻炼。这让我们发现编译程序的过程其实就是不断解决问题的过程,从中也感受到了编写软件的乐趣,一个人永远有学不完的知识, 就算开发软件的各项知识都学会了,但在实际开发过程中仍然会遇到不少问题,这时就要做到以
17、下这两点:一个是“查” ,另一个则是“问” 。通过仔细的查阅资料和询问老师以及同学, 最终解决了不少的问题。 这也使我们认识到解决问题不仅需要外界的帮助, 更重要的是依靠自己的能力。这次课程设计给我们以前学过的知识做了一个总结,为以后深入学习编程做了铺垫。 由于时间以及其它方面的原因,我们小组设计的程序只完成了几个重要的功能的实现,并且依然存在着不少问题和缺陷,比如说:用户界面设计不够美观、单词库不能备份、异常出错处理功能比较差等多方面问题,这还需要在以后的学习中加以改进,希望以后能够做的更成功。6、课程设计参考资料 1 邱锦伦、曹旻编著. Visual C#.NET程序设计教程 清华大学出版社,20062 程云志等编著数据库原理与SQL Server 2005应用教程机械工业出版社,20063 MSDN Library for Visual Studio 2005 4 马骏C#网络应用高级编程人民邮电出版社,20067教师评语及签字课程设计评 语课程设计成 绩指导教师(签字) 年 月 日
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1