英语词典课程设计报告

  • 格式:doc
  • 大小:649.50 KB
  • 文档页数:46

下载文档原格式

  / 46
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

英语词典课程设计报告

山东交通学院

面向对象课程设计

英语学习小词典

(院)系: 信电学院

班级: 计算111 姓名: 学号: 110811123 指导教师: 钱斌

时间:2012-10-10—2012-10-21

课程设计任务书

题目:英语学习小词典C++语言

课程设计

系部:信电学院

专业:计算机科学与技术

班级:计算111

姓名:

学号:

10月10日至10月21 日共2 周

指导教师(签字):

系主任(签字):

年月日课程设计任务书

定表

成绩评

摘要

对于我们,随着学习的深入,已经大体掌握了Visual C++6.0环境下的程序开发。为了将我们的编程能力提升到一个更高的水平,深化面向对象的编程思维和解决问题的能力,值此课程设计周期间,进行基于Visual C++6.0环境的软件开发,先以字符统计软件作为开始,对Visual C++6.0环境和面向对象程序设计进行回忆和熟悉,使得在此基础上的下一个课程设计的开发进行的更加顺利。

本文档详细叙述了基于Visual C++6.0环境下的英语学习小词典系统软件的设计过程以及程序源代码。

本文档从概要设计,详细设计,参考源程序代码以及显示程序运行的截屏

等方面详尽的介绍了软件开发过程。

程序在设计的过程中遇到的问题已及时更正,但由于编者的能力和水平有限,字符统计软件和文档中不免会出现一些不期待的错误,望文档读者能够理

解和体谅,并欢迎提醒和纠正,在此表示感谢以及敬意。

目录

1. 课程设计概述 (8)

1.1. 英语学习小词典题目及简介 (8)

1.2. 开发环境概述 (8)

2.总体设计 (8)

2.1. 项目规划 (8)

2.2. 系统结构流程图 (9)

2.3.数据库逻辑结构 (10)

3.功能模块界面及程序代码 (11)

3.1. 主界面模块设计 (11)

3.2. 数据库登陆框设计 (12)

3.3. 操作数据库模块设计 (14)

3.3.1 单词添加模块 (14)

3.3.2 单词删除模块 (16)

3.3.3 单词修改模块 (25)

3.4. 查询模块设计............................ 错误!未定义书签。

3.5. 随机生成单词测试表模块设计 (38)

4. 设计体会 (28)

参考文献 (28)

1.1. 英语学习小词典题目及简介

根据软件需求,要求软件具有以下功能:

1)实现英语单词的录入、修改、删除等基本操作。

2)实现常用英语单词例句的录入、修改、删除等基本操作。

3)实现英语单词检索、翻译等。

4)常用英语单词例句检索。

5)根据难度随机生成一份单词测试题目。

6)能够检索出短文极其翻译对照表。

数据库系统主要为登陆,登陆后可以浏览,添加,删除,修改各种单词,

单词例句,英语短文信息。

1.2. 开发环境概述

硬件要求

CPU:300MHz以上的处理器

内存:128MB,推荐256MB

硬盘:150MB以上剩余空间

显示像素:最低800*600,最佳效果1024*768

软件要求

操作系统:Windows2000/NT/XP/Vista/Win7。

数据库:SQL Server2000

2.1. 项目规划

根据需求分析,设计程序框架。英语词典学习软件由3大部分组成。设计各部分具体功能如下:

1)查询模块。包括单词查询,单词例句查询,短文翻译查询。

2)用户密码模块。包括用户名,密码。

3)数据库模块。包括三个表,单词表,单词例句表,短文表。可以实现各个表信息的添加,修改,删除。

4)测试模块。随机生成一份单词测试表。

2.2.系统结构流程图

2.3.数据库逻辑结构

本系统采用SQL Server 2000 数据库,系统数据库名为Dictionary,其中共包含3个自己建的表。

表2.1 单词表

表2.2 单词例句表:

表2.3 英语低级短文表:

表2.3 英语高级短文表:

表2.5 登陆表:

3.1. 主界面模块设计

弹出窗口按钮,代码:

denglu dlg;

dlg. DoModal();

; 其余按钮代码相同

3.2.数据库登陆框设计

数据库登录按钮的代码:

void denglu::OnOK()

{

// TODO: Add extra validation here

UpdateData(TRUE);

dengluset userset;

CString sqlStr;

CDatabase m;

////////////////////////OPEN

DATABASE/////////////////////////////////////

m.Open(_T("EnglishDic"));

if(!m.IsOpen())

{

MessageBox("不能打开数据库!");

return;

}

if(m_struser.IsEmpty())

{

MessageBox("请输入用户名!","Prompt");

m_cstruser.SetFocus();

return;

}

if(m_strpassword.IsEmpty())

{

MessageBox("请输入密码!","Prompt");

m_cstrpassword.SetFocus();

return;

}

sqlStr.Format("select * from user where user='%s' AND password='%s'",m_struser,m_strpassword);

if(!userset.Open(AFX_DB_USE_DEFAULT_TYPE,sqlStr))

{

MessageBox("不能打开数据库!","Database Error",MB_OK);

return ;

}

/////////////////////////////RECORDCOUNT///////////////////// ///////

if(userset.GetRecordCount()==0)

{

userset.Close();

MessageBox("密码错误!请再次输入!","Error!");

m_strpassword="";

m_cstrpassword.SetFocus();