c#课程设计.docx
《c#课程设计.docx》由会员分享,可在线阅读,更多相关《c#课程设计.docx(13页珍藏版)》请在冰豆网上搜索。
c#课程设计
**学院
课程设计说明书
(2012/2013学年第一学期)
课程名称:
软件程序设计
题目:
个人单词薄
专业班级:
学生姓名:
放羊娃
学号:
指导教师:
设计周数:
2周
设计成绩:
2013年1月18日
2012年1月13日
目录
1.引言…….…….......................................................................2
1.1课程设计的目的............................................................2
1.2课程设计的内容及要求..................................................2
1.3设计步骤.........................................................................2
2.任务简述…….........................................................................2
2.1课设任务……...................................................................2
2.2软件流程图…….............................................................3
2.3系统设计…………………………….…………………..3
2.4系统界面设计………………….………………………..3
2.5软件结构图.....................................................................4
2.7用户基础信息表................................................................4
3使用说明…….........................................................................4
3.1添加..................................................................................4
3.2查询...................................................................................5
3.3练习................................................................................5
3.4导出...................................................................................6
3.5关于....................................................................................6
3.6过程中的错误……………………………………………6
4软件代码..............................................................................6
5.个人总结…….........................................................................11
6.参考文献….............................................................................11
7.教师签字及评语……..............................................................12
个人单词薄软件
·1引言
·1.1课程设计的目的
本课程设计是通信工程专业的一门软件实践专业基础课,旨在提高学生的软件编程能力。
本设计将进一步加强学生对面向对象程序设计思想的理解,增强对C#程序语言的灵活运用。
要求学生能结合数据库知识,网络通信技术,实现基本的应用软件,为以后从事相关行业打下软件编程基础。
1.2课程设计内容和要求
本课程设计题目和要求如下:
个人单词簿
生词录入、查询功能;随机考查用户是否掌握了生词,并根据掌握程度来计算是否以后还需继续考查;导出词汇功能。
1.3设计步骤
1、分析题目;
2、设计软件实现方案;
3、画软件框架结构图、关键程序流程图,设计数据库;
4、编程实现软件;
5、调试软件,修改程序错误,直至正确完成技术要求;
6、发布软件,撰写软件使用说明书。
·2任务简述
·2.1课设任务
1.根据技术要求和现有开发环境,分析题目
2.选定方案
3.使用C#语言和.net框架,并结合数据库,实现软件
4.调试、修改并完善程序
·2.2软件流程图
·2.3系统设计
1.功能方面:
添加,查询,练习,导出等
2.性能:
用户可以钢价便利的记忆复习单词
3.输入:
用户通过外接键盘进行输入
·2.4系统界面设计
用户可以根据登录界面上的各个按钮进行单词库的插入、修改、删除功能,以及帮助系统等功能,用于建立自己的词汇库,简单实用方便快捷,可行性极高。
2.5软件结构图
2.7用户基础信息表
3使用说明
主界面模块的主要功能为:
主功能界面包括编辑中的添加和查询,练习,导出及软件关于,使用说明五个按钮,触发每个按钮会有相应的功能实现。
3.1添加
根据用户的需求对词库数据表进行添加操作。
保证词库的更新速度,耐用持久。
3.2查询
方便用户进行单词的查询,进行复习,背诵。
3.3练习
点击开始测试,出现单词,用户需要输入汉语意思,进行单词的考试练习,有利于对单词的记忆。
练习功能,有利于进行考核生单词,加强记忆,
3.4导出
本软件默认导出到电脑中E:
、单词.txt文件内,方便用户进行拷贝,
3.5.软件关于、使用说明
这两个按钮的设置主要是为了方便用户,提供一些帮助消息
3.6过程中的错误
添加中出现的错误
if(textBox1.Text.Trim().Length!
=0)
{
stringsql="insertintoTable1(word,yinbiao,jieshi,zhushi)Values('"
+textBox1+"','"+textBox2+"','"+textBox3+"','"+textBox4+"')";
//try
//{
if(OperateDB.ExecuteNonQuery(sql)==1)
{
MessageBox.Show("添加成功!
");
}
else
{
MessageBox.Show("添加失败!
");
}
错误在于:
少了.Text
正确的是:
stringsql="insertintoTable1(word,yinbiao,jieshi,zhushi)Values('"
+textBox1.Text+"','"+textBox2.Text+"','"+textBox3.Text+"','"+textBox4.Text+"')";
4软件代码
4.1添加和清除功能
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.Data.SqlClient;
namespace个人单词薄
{
publicpartialclassform3:
Form
{
publicform3()
{
InitializeComponent();
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
if(textBox1.Text.Trim().Length!
=0)
{
stringsql="insertintoTable1(word,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("请输入单词!
");
}
}
privatevoidtextBox1_TextChanged(objectsender,EventArgse)
{
}
privatevoidtextBox2_TextChanged(objectsender,EventArgse)
{
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
textBox1.Text="";
textBox2.Text="";
textBox3.Text="";
textBox4.Text="";
}
}
}
测试和提交功能代码
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.Data.SqlClient;
usingSystem.Web;
usingSystem.IO;
namespace个人单词薄
{
publicpartialclassF3:
Form
{
publicF3()
{
InitializeComponent();
}
delegatevoidMyDele();
stringhanyi;
privatevoidbutton1_Click(objectsender,EventArgse)
{
MyDeledele=newMyDele(kaocha);
dele.Invoke();
}
publicvoidkaocha()
{
stringsql="selectTop1word,jieshifromTable1orderbynewid()";
SqlConnectioncon=newSqlConnection(OperateDB.ConnString);
SqlCommandcmd=newSqlCommand(sql,con);
con.Open();
SqlDataReaderdr=cmd.ExecuteReader();
while(dr.Read())
{
label1.Text="单词:
"+(string)dr["word"].ToString().Trim();
hanyi=(string)dr["jieshi"].ToString().Trim();
}
con.Close();
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
//hanyi.capacity(50);
if(hanyi==textBox1.Text)
{
MessageBox.Show("答案正确!
","提示");
MyDeledelee=newMyDele(kaocha);
delee.Invoke();
}
else
{
if(MessageBox.Show("答案错误!
是否继续?
","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Error)==DialogResult.Yes)
{
MyDeledelee=newMyDele(kaocha);
delee.Invoke();
}
}
textBox1.Text="";
}
}
}
查询功能代码
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.Data.SqlClient;
namespace个人单词薄
{
publicpartialclassForm4:
Form
{
publicForm4()
{
InitializeComponent();
}
SqlDataAdapterda=newSqlDataAdapter();
DataSetds=newDataSet();
privatevoidtextBox1_TextChanged(objectsender,EventArgse)
{
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
stringsql="selectwordas单词,yinbiaoas音标,jieshias解释,zhushias注释fromTable1wherewordlike'%"+textBox1.Text.Trim()+"%'";
ds=OperateDB.ExcuteDataSet(sql);
dataGridView1.DataSource=ds.Tables[0].DefaultView;
}
}
}
5个人总结
经过了近两周的时间,利用C#.NET开发的电子词典程序终于完成了。
本程序是针对大众需求现状的分析之后,确定了程序涉及的领域,包括了界面设计、功能设计、数据库设计等,是一个具有实际应用意义的程序。
经过这次的课题的设计与实现,尽管遇到了很多很多难题,但是我们小组也在这次课程设计中得到了许多经验、心得和锻炼。
这让我们发现编译程序的过程其实就是不断解决问题的过程,从中也感受到了编写软件的乐趣,一个人永远有学不完的知识,就算开发软件的各项知识都学会了,但在实际开发过程中仍然会遇到不少问题,这时就要做到以下这两点:
一个是“查”,另一个则是“问”。
通过仔细的查阅资料和询问老师以及同学,最终解决了不少的问题。
这也使我们认识到解决问题不仅需要外界的帮助,更重要的是依靠自己的能力。
这次课程设计给我们以前学过的知识做了一个总结,为以后深入学习编程做了铺垫。
由于时间以及其它方面的原因,我们小组设计的程序只完成了几个重要的功能的实现,并且依然存在着不少问题和缺陷,比如说:
用户界面设计不够美观、单词库不能备份、异常出错处理功能比较差等多方面问题,这还需要在以后的学习中加以改进,希望以后能够做的更成功。
6、课程设计参考资料
[1]邱锦伦、曹旻编著.VisualC#.NET程序设计教程.清华大学出版社,2006
[2]程云志等编著.数据库原理与SQLServer2005应用教程.机械工业出版社,2006
[3]MSDNLibraryforVisualStudio2005
[4]马骏.C#网络应用高级编程.人民邮电出版社,2006
7教师评语及签字
课程设计
评语
课程设计
成绩
指导教师
(签字)
年月日