vb课程设计计算器Word文档下载推荐.docx

上传人:b****5 文档编号:19493501 上传时间:2023-01-06 格式:DOCX 页数:14 大小:218.42KB
下载 相关 举报
vb课程设计计算器Word文档下载推荐.docx_第1页
第1页 / 共14页
vb课程设计计算器Word文档下载推荐.docx_第2页
第2页 / 共14页
vb课程设计计算器Word文档下载推荐.docx_第3页
第3页 / 共14页
vb课程设计计算器Word文档下载推荐.docx_第4页
第4页 / 共14页
vb课程设计计算器Word文档下载推荐.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

vb课程设计计算器Word文档下载推荐.docx

《vb课程设计计算器Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《vb课程设计计算器Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。

vb课程设计计算器Word文档下载推荐.docx

五、成绩

六、教师评语

 

目录

一、需求分析……………………………3

二、设计分析……………………………4

三、技术要点……………………………5

四、主界面截图…………………………8

五、总结………………………………….11

六、完整的源程序……………………..12

七、参考文献……………………………20

一、需求分析

设计一个背单词系统。

模拟英语词库由学生自行编写。

1)运行界面上安放Label,TextBox,CheckBox,OptionButton,ComboBox,HScrollBox,Timer,CommandButton控件。

2)可打开“大学英语四级词库”或“大学英语六级词库”,读取有效内容。

3)能够实现改变背景色,字体大小,显示速度。

4)可选择显示单词的字首字母范围。

5)程序可“暂停”“继续”,并可“退出”。

6)点击“使用说明”,可提示相应说明。

二、设计分析

(1)基本原理:

创建程序和各按钮,建立相应控件与数据文件的连接。

(2):

总体设计:

(3)详细设计:

三、技术要点

A、时钟与滚动

将时钟的Interval设定为显示速度滚动条的值的线性函数(Timer1.Interval=HScroll1.Value*20),时钟的速度便由滚动条的值控制,成为为可调的。

为了循环的执行,这里定义一个随机变量k。

随着时钟计时,当text1中显示内容从左起的第一个字符的ASCII码大于零,则其字幕显示为前一个词从第四位开始取长度为这个词长度减三的部分和后一个词前三位部分,k=k+3。

而当text1中显示内容从左起的第一个字符的ASCII码小于零,则其字幕显示为前一个词从第二位开始取长度为这个词长度减一的部分和后一个词第一位部分,k=k+1。

如此便形成了字幕可以以不同速度滚动的效果。

B、词库选择与调用文档

当词库选择的组合框1选择大学英语四级词汇时,便open大学英语四级词汇的文本文档命名为#1以input形式使用;

当词库选择的组合框1选择大学英语六级词汇时,便open大学英语六级词汇的文本文档命名为#1以input形式使用。

注意:

文档中的单词按顺序排列,一行一个,首字前有四个空格,每一次首字母变化前加入书写“/”的一行,以便后面设定范围之用。

通过while循环,文档内容以字符串nextline按行输入遇到“/”则显示空白。

C、范围设定

范围设定有两个方面。

1)若下限比上限小,下限设定为空白。

如此便满足了下限不比上限小的要求。

2)组合框2和3是用来设定范围的,他们的每个选项都有一个编号ListIndex。

设定上限时,我们再一次用到ASCII码。

当用来存放nextline的数组s()的元素s(m)的第五位(即单词首字母)的ASCII码比组合框2的ListIndex+96的值大的时候,用来存放有效字符串的数组t(r)的下标r开始计数。

令s(m)=t(r),则上限设定成功。

设定下限时,我们用变量j来对“/”计数。

当j比组合框3的ListIndex大时,跳出while循环。

如此,下限便得到了控制。

D、对随机显示的控制

未选择复选框1时,用for循环按Text1.Text=Text1.Text&

t(n)使字幕顺序显示;

选择时,用Randomize产生1到r-1之间的随机数,将r的值依次存入到数组a(n)中,用for循环按Text1.Text=Text1.Text&

t(a(n))使字幕随机显示。

E、循环控制

由于时钟不会停,系统默认的是循环,所以我们只需对不选复选框2的情况进行控制。

我们在A中提到的k值,在这里开始显示作用。

当k的值大于text1显示内容的总长度后,输出空白,即不循环。

F、字幕的左右移动

当点击按钮5时,我们用Text1.Text=Mid(Text1.Text,11,Len(Text1.Text)-10)&

Left(Text1.Text,10)来使字幕左移;

当点击按钮6时,我们用Text1.Text=Mid(Text1.Text,Len(Text1.Text)-9,10)&

Left(Text1.Text,Len(Text1.Text)-10)来使字幕右移。

四、主要界面截图

五、总结

通过这次课程设计,VB编程水平有了很大的提高。

从最开始编写这个程序到程序运行,经过对程序的反复调试与修改,深刻感受到编写一个程序是一个漫长而辛苦的过程,需要编程人员具备足够的耐心与细心。

与此同时也培养我们查阅知识并通过自学掌握知识的能力。

程序的入手阶段是困难的,首先要做一些准备工作。

要了解这个程序是干什么的,它应具备怎样的功能。

当明确了这些问题以后,就要针对不同的功能逐一的思考实现该功能的方法。

对于每一个功能的实现需要用到那些知识,通过查阅相关知识,做到心中有数,再进行编程。

编程时要先制定一个大的框架,用几个模块,什么模块,那些事件过程,那些通用过程,当大致的轮廓出来后再进行深一步的编写,考虑语句的语法、逻辑,各个通用过程的调用,事件过程的实现。

这里会遇到真正难以解决的问题,要再次通过查阅多方资料并结合认真思考来寻找解题思路。

当然在编程的过程中最重要的一点就是善于总结,这样可以避免重蹈覆辙。

在程序编写结束后,更要进行总结,认真思考怎样编写一个过程是简便快捷的,在下次遇到同样问题时可以节省时间,提高效率。

这次做课程设计,了解了程序的编制过程和基本的思维方法,同时也对编程产生了浓厚的兴趣,希望能在课余时间多编制一些这样的小程序,可以学到更多的知识,同时提高编程的速度,锻炼思考方式,为我们今后的学习打下一个良好的基础。

六、完整的源程序

(1)主界面(Form1):

Dimi%,k%,m%,r%

PrivateSubCheck1_Click()

Check2.Value=0

IfCheck1.Value=1Then

Check2.Enabled=False

Else

Check2.Enabled=True

EndIf

EndSub

‘实现随机与循环复选框的选择

PrivateSubCombo2_click()

Combo3_Click

PrivateSubCombo3_Click()

IfCombo3.ListIndex<

Combo2.ListIndexThen

Combo3.Text="

"

‘防止出现上标大于下标出现

PrivateSubCommand1_Click()

Command2.Enabled=True

Dimj%,n%

Dims()AsString

Dimt()AsString

j=0

k=0

m=0

r=0

Timer1.Interval=HScroll1.Value*20

IfCombo1.Text="

大学英语四级词汇"

Then

Open"

E:

\背单词程序完整\大学英语四级.txt"

ForInputAs#1

ElseIfCombo1.Text="

大学英语六级词汇"

\背单词程序完整\大学英语六级词汇.txt"

‘词库选择

DoWhileNotEOF

(1)

OnErrorResumeNext

LineInput#1,nextline

m=m+1

ReDimPreserves(m)

s(m)=nextline

Ifnextline="

/"

j=j+1

s(m)="

IfAsc(Mid(s(m),5,1))>

Combo2.ListIndex+96Then

r=r+1

ReDimPreservet(r)

t(r)=s(m)

Ifj>

Combo3.ListIndexThen

ExitDo

Loop

‘将词库每行数据存入s(n)中,下标对应行号。

实现范围选择,并将范围内的每行数据存入t(r)中,下标对应行号。

SelectCaseCheck1.Value

Case0

Text1.Text="

Forn=1Tor

Text1.Text=Text1.Text&

t(n)

Nextn

Text1.Text="

"

&

Text1.Text

‘未选择随机时的文本输出

Case1

Dima()AsString

DimY%,X%,z%

z=r-1

Forn=1Tor-1

Randomize

Y=Int((z-1)*Rnd)+1

ReDimPreservea(n)

a(n)=t(Y)

ForX=YToz-1

t(X)=t(X+1)’将t()中已经选择存入a(n)中的元素剔除

NextX

z=z-1

Nextn’将t(r)中的全部元素以随机的顺序存入a(n)

a(n)

‘随机方式输出

EndSelect

Close

Timer1.Enabled=True

IfCommand2.Caption="

继续"

Command2.Caption="

暂停"

i=i+1

PrivateSubCommand2_Click()

IfiMod2=0Then

:

Timer1.Enabled=False

Timer1.Enabled=True

PrivateSubCommand3_Click()

大学英语四六级.Visible=True

Form1.Visible=False

PrivateSubCommand4_Click()

Form2.Visible=True

PrivateSubCommand5_Click()

Text1.Text=Mid(Text1.Text,11,Len(Text1.Text)-10)&

Left(Text1.Text,10)’使滚动字幕左移10位

PrivateSubCommand6_Click()

Text1.Text=Mid(Text1.Text,Len(Text1.Text)-9,10)&

Left(Text1.Text,Len(Text1.Text)-10)’使滚动字幕右移10位

PrivateSubForm_Load()

Move(Screen.Width-Width)/2,(Screen.Height-Height)/2’窗口显示居中

Combo1.List(0)="

Combo1.List

(1)="

Command2.Enabled=False

Combo1.Text=Combo1.List(0)

Combo2.List(0)="

A"

Combo2.List

(1)="

B"

Combo2.List

(2)="

C"

Combo2.List(3)="

D"

Combo2.List(4)="

E"

Combo2.List(5)="

F"

Combo2.List(6)="

G"

Combo2.List(7)="

H"

Combo2.List(8)="

I"

Combo2.List(9)="

J"

Combo2.List(10)="

K"

Combo2.List(11)="

L"

Combo2.List(12)="

M"

Combo2.List(13)="

N"

Combo2.List(14)="

O"

Combo2.List(15)="

P"

Combo2.List(16)="

Q"

Combo2.List(17)="

R"

Combo2.List(18)="

S"

Combo2.List(19)="

T"

Combo2.List(20)="

U"

Combo2.List(21)="

V"

Combo2.List(22)="

W"

Combo2.List(23)="

X"

Combo2.List(24)="

Y"

Combo2.List(25)="

Z"

Combo2.ListIndex=0

Combo2.Text=Combo2.List(0)

Combo3.List(0)="

Combo3.List

(1)="

Combo3.List

(2)="

Combo3.List(3)="

Combo3.List(4)="

Combo3.List(5)="

Combo3.List(6)="

Combo3.List(7)="

Combo3.List(8)="

Combo3.List(9)="

Combo3.List(10)="

Combo3.List(11)="

Combo3.List(12)="

Combo3.List(13)="

Combo3.List(14)="

Combo3.List(15)="

Combo3.List(16)="

Combo3.List(17)="

Combo3.List(18)="

Combo3.List(19)="

Combo3.List(20)="

Combo3.List(21)="

Combo3.List(22)="

Combo3.List(23)="

Combo3.List(24)="

Combo3.List(25)="

Combo3.ListIndex=25

Combo3.Text=Combo3.List(25)

Option1.Value=True

Check1.Value=0

HScroll2.Value=255

HScroll3.Value=255

HScroll4.Value=255

PrivateSubHScroll1_Change()

PrivateSubHScroll2_Change()

Text1.BackColor=RGB(HScroll2.Value,HScroll3.Value,HScroll4.Value)

PrivateSubHScroll3_Change()

PrivateSubHScroll4_Change()

PrivateSubOption1_Click()

IfOption1.Value=TrueThen

Text1.FontSize=14

PrivateSubOption2_Click()

IfOption2.Value=TrueThen

Text1.FontSize=20

PrivateSubTimer1_Timer()

IfAsc(Left(Text1.Text,1))>

0Then

Text1.Text=Mid(Text1.Text,4,Len(Text1.Text)-3)&

Left(Text1.Text,3)

k=k+3

Text1.Text=Mid(Text1.Text,2,Len(Text1.Text)-1)&

Left(Text1.Text,1)

k=k+1

SelectCaseCheck2.Value

Ifk>

Len(Text1.Text)Then

EndSelect’终止默认循环

使用说明

Form2.Hide

Form1.Show

七、参考文献

[1]龚沛曾杨志强陆慰民《VisualBasic程序设计教程》,高等教育出版社2009

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 广告传媒

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1