《软件设计基础VB》课程设计报告书.docx

上传人:b****5 文档编号:6059101 上传时间:2023-01-03 格式:DOCX 页数:14 大小:51.61KB
下载 相关 举报
《软件设计基础VB》课程设计报告书.docx_第1页
第1页 / 共14页
《软件设计基础VB》课程设计报告书.docx_第2页
第2页 / 共14页
《软件设计基础VB》课程设计报告书.docx_第3页
第3页 / 共14页
《软件设计基础VB》课程设计报告书.docx_第4页
第4页 / 共14页
《软件设计基础VB》课程设计报告书.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

《软件设计基础VB》课程设计报告书.docx

《《软件设计基础VB》课程设计报告书.docx》由会员分享,可在线阅读,更多相关《《软件设计基础VB》课程设计报告书.docx(14页珍藏版)》请在冰豆网上搜索。

《软件设计基础VB》课程设计报告书.docx

《软件设计基础VB》课程设计报告书

河北联合大学

《软件设计基础(VB)》

课程设计报告

设计名称:

简易日历

姓名:

杨烁学号:

201004010219

专业班级:

土木工程二班

学院:

建筑工程学院

设计时间:

2011年5月10号到7月10号

设计地点:

河北联合大学计算机中心

 

成绩:

指导教师评语:

 

指导教师签字:

年月日

目录

1.课程设计目的3

2.课程设计任务与要求3

3.课程设计说明书4

4.课程设计成果13

5.程序调试过程14

6.设计问题的不足和改进方案15

7.课程设计心得16

8.附录17

9.参考文献17

1.课程设计目的

 

《软件设计基础(VB)》课程设计是这门课程的实践性教学环节之一,本次设计结合实际应用的要求,使课程设计既覆盖VB的知识点,又接近工程实际需要。

目的是通过课程设计的综合训练,培养学生实际分析问题、解决问题的能力,以及编程和动手能力,最终目标是通过课程设计这种形式,帮助学生系统掌握VB这门课程的主要内容,养成良好的编程习惯,更好的完成教学任务。

 

2.课程设计任务与要求:

要求:

本次课程设计利用《软件设计基础(VB)》课程中所学到的编程知识和编程技巧,完成具有一定难度和工作量的程序设计题目,帮助学生掌握编程、调试的基本技能,独立完成所布置的任务。

要求:

1、对系统进行功能需求分析

2、设计合理的数据结构和系统框架

3、界面设计美观、清楚、合理

4、编程简练,程序功能齐全,能正确运行

5、具有一定的创新性

6、说明书、流程图要清楚

7、课题完成后必须按要求提交课程设计报告

任务:

1.窗体加载自动提取并显示当前日期

2.能选择1960-2060之间的任一年份

3.选择某一日期后凹陷显示并在窗体下方显示所选择的日期及其星期

4.单击确定后显示所选日期

5.节日等在选定日期后以MsgBox形式提示

6.单击退出关闭窗体

7.根据所选年份和月份,确定显示天数的个数

8.年月日及下方的显示只可读不可输入

 

3.课程设计说明书

功能描述

窗体加载自动提取并显示当前日期。

能选择1960-2060之间的任一年份。

选择某一日期后凹陷显示并在窗体下方显示所选择的日期及其星期。

单击确定后显示所选日期。

节日等在选定日期后以MsgBox形式提示。

根据所选年份和月份,确定显示天数的个数。

⑵概要设计

模块结构图:

根据功能分析,建立系统的体系结构,即将整个系统分解成若干子模块,用框图表示各功能模块之间的接口关系(如下图)。

简易日历

 

 

当前日期

选择日期

日期显示

退出系统

简易日历系统功能框图

⑶详细设计

总体流程图:

各功能模块流程图:

 

退出系统

日期显示

选择日期

当前日期

简易日历

 

⑷代码实现

form1、首页

作用:

“简易日历主窗体”。

所用控件:

2个combobox控件,2个textbox,2个commandbutton,1个frame控件,2个label,frame中使用1个label控件数组。

设计思路:

2个combobox控件供用户选择年份和月份,2个textbox显示所选日期,1个frame控件和其中的1个label控件数组供用户选择日期。

详细内容:

属性较特殊的需要说明。

代码如下:

OptionExplicit

Dimxuanzedate%

PrivateSubForm_Load()

xuanzedate%=CInt(Format$(Now,"dd"))

Calltianchongbn01

Calltianchongbn02

Callsetdate

Dimr%,week$

r%=Weekday(Format$(Now,"generaldate"))

Ifr%=1Then

week$="星期日"

ElseIfr%=2Then

week="星期一"

ElseIfr%=3Then

week="星期二"

ElseIfr%=4Then

week="星期三"

ElseIfr%=5Then

week="星期四"

ElseIfr%=6Then

week="星期五"

Else

week="星期六"

EndIf

bn002.Text=week$

bn001.Text=Format$(Now,"yyyy"&"年"&"m"&"月"&"d"&"日")

EndSub

PrivateSubcheckdate(month%,year%)

Dimi%,value%,datebn$

Fori%=28To32

datebn$=(Str$(month%)+"/"+Str$(i%)+"/"+Str$(year%))

IfIsDate(datebn$)Then

value%=i%

Else

Callvisualnumber(value%)

ExitSub

EndIf

Nexti%

EndSub

PrivateSubsetdate()

Dimr%,i%

r%=CInt(Format$(Now,"yyyy"))

i%=r%-1960

bn02.ListIndex=i%

r%=CInt(Format$(Now,"mm"))

bn01.ListIndex=(r%-1)

r%=CInt(Format$(Now,"dd"))

bndate(r%-1).BorderStyle=1

xuanzedate%=r%

EndSub

PrivateSubtianchongbn01()

bn01.AddItem"一月"

bn01.AddItem"二月"

bn01.AddItem"三月"

bn01.AddItem"四月"

bn01.AddItem"五月"

bn01.AddItem"六月"

bn01.AddItem"七月"

bn01.AddItem"八月"

bn01.AddItem"九月"

bn01.AddItem"十月"

bn01.AddItem"十一月"

bn01.AddItem"十二月"

EndSub

PrivateSubtianchongbn02()

Dimi%

Fori%=1960To2060

bn02.AddItemStr$(i%)

Nexti%

EndSub

PrivateSubbn01_click()

Callsetday

Callbndate_click(xuanzedate%-1)

EndSub

PrivateSubbn02_Click()

Staticabc%

IfNotabcThen

abc=True

ExitSub

EndIf

Callbn01_click

EndSub

PrivateSubsetday()

Dimmonth%,year%

month%=setmonth()

year%=setyear()

Callcheckdate(month%,year%)

EndSub

PrivateSubbndate_click(IndexAsInteger)

Dimi%

OnErrorGoToerr1

Fori%=0To30

bndate(i%).BorderStyle=0

Nexti%

Ifbndate(Index).BorderStyle=1Then

bndate(Index).BorderStyle=0

Else

bndate(Index).BorderStyle=1

EndIf

xuanzedate%=Index+1

Dimmonth%,day%,year%,datebn$

day%=xuanzedate%

month%=bn01.ListIndex+1

year%=bn02.ListIndex+1960

datebn$=(Str$(month%)+"/"+Str$(day%)+"/"+Str$(year%))

Ifbn01.Text="六月"Andbndate(27).BorderStyle=1Then

MsgBox"老师,欢迎您检阅我的设计。

ElseIfbn01.Text="九月"Andbndate(12).BorderStyle=1Then

MsgBox"老师,欢迎您检阅我的设计。

EndIf

Dimr%

Dimweek$

r%=Weekday(datebn$)

Ifr%=1Then

week$="星期日"

ElseIfr%=2Then

week="星期一"

ElseIfr%=3Then

week="星期二"

ElseIfr%=4Then

week="星期三"

ElseIfr%=5Then

week="星期四"

ElseIfr%=6Then

week="星期五"

Else

week="星期六"

EndIf

bn002.Text=week$

bn001.Text=Format$(datebn$,"longdate")

err1:

IfErr=0ThenExitSub

IfErr=13Then

xuanzedate%=xuanzedate%-1

ExitSub

EndIf

EndSub

PrivateFunctionsetmonth%()

Dimi%

i%=bn01.ListIndex

setmonth%=i%+1

EndFunction

PrivateFunctionsetyear%()

Dimi%

i%=bn02.ListIndex

Ifi%=-1ThenExitFunction

setyear%=CInt(Trim(bn02.List(i%)))

EndFunction

PrivateSubvisualnumber(number%)

Dimi%

Fori%=28To30

bndate(i%).Visible=False

Nexti%

Fori%=28Tonumber%-1

bndate(i%).Visible=True

Nexti%

EndSub

PrivateSubbnyes_Click()

Dimmonth%,day%,year%,datebn$

day%=xuanzedate%

month%=bn01.ListIndex+1

year%=bn02.ListIndex+1960

datebn$=(Str$(month%)+"/"+Str$(day%)+"/"+Str$(year%))

datebn$=Format$(datebn$,"generaldate")

MsgBoxFormat$(datebn$,"longdate"),,"您选定的日期为:

"

Ifbn01.Text="十月"Andbndate(0).BorderStyle=1Then

MsgBox"国庆节快乐",,"节日/纪念日"

ElseIfbn01.Text="二月"Andbndate(13).BorderStyle=1Then

MsgBox"情人节快乐:

>",,"节日/纪念日"

ElseIfbn01.Text="一月"Andbndate(0).BorderStyle=1Then

MsgBox"元旦快乐,又一年了,加油啊",,"节日/纪念日"

ElseIfbn01.Text="三月"Andbndate(11).BorderStyle=1Then

MsgBox"植树节了,心系环保",,"节日/纪念日"

ElseIfbn01.Text="四月"Andbndate(0).BorderStyle=1Then

MsgBox"愚人节的小傻瓜们,今天被骗了没?

:

-P",,"节日/纪念日"

ElseIfbn01.Text="六月"Andbndate(0).BorderStyle=1Then

MsgBox"儿童节快乐,有颗童心会更加快乐!

",,"节日/纪念日"

ElseIfbn01.Text="八月"Andbndate(0).BorderStyle=1Then

MsgBox"建军节快乐",,"节日/纪念日"

ElseIfbn01.Text="十月"Andbndate(29).BorderStyle=1Then

MsgBox"今天我生日,生日快乐!

哈哈",,"节日/纪念日"

ElseIfbn01.Text="十一月"Andbndate(22).BorderStyle=1Then

MsgBox"我的宝贝,生日快乐!

",,"节日/纪念日"

ElseIfbn01.Text="十二月"Andbndate(24).BorderStyle=1Then

MsgBox"圣诞节快乐",,"节日/纪念日"

ElseIfbn01.Text="三月"Andbndate(7).BorderStyle=1Then

MsgBox"妇女节快乐",,"节日/纪念日"

ElseIfbn01.Text="八月"Andbndate

(1).BorderStyle=1Then

MsgBox"妈,生日快乐!

",,"节日/纪念日"

EndIf

EndSub

PrivateSubbnexit_Click()

UnloadMe

EndSub

 

4.课程设计成果

程序运行后显示当前日期:

 

选择任意日期:

 

点击“确认”:

 

点击“确定”:

 

 

5.程序调试过程

系统在调试过程中存在的主要问题是的错误是变量声明部分,变量声明部分声明本程序所需要的变量和数组,主要是日期变量。

另外就是设定当前日期错误,在下拉列表框添加年份和月份。

PrivateSublblnumber_click(IndexAsInteger)最终通过各种调试和查询解决了问题,还有就是预期设想的利用函数和数组来完成日历代码的编写,运行效果不错。

 

6.设计问题的不足和改进方案

这个程序的日历比较简单,不美观,而且比较单调。

设想可以通过添加背景图片,设置更多的节日和添加记事本功能并且有时间提醒。

 

7.课程设计心得

学习VB编程语言是一件很枯躁的事情,需要有强大的爱好,必需要为自己的爱好而学习,这样才能有足够的动力来学习编程这门枯燥的事情,才能在枯燥的事情中找到快乐。

在学习中要认认真真的把MSDN中关于VB的内容好好看一看,特别是函数和语句。

遇到问题不要直接去问别人,自己好好想一想,试着解决这个问题。

当自己想过好多办法,解决一个问题,可能解决的办法并不是最好的办法,但绝对有利于自己的提高,一个人水平的提高主要是通过独立的解决问题来得到的。

即使自己最后没有解决问题,你自己思考过了,然后找别人帮你解决,你也会想和很深入,以后再碰到类似的问题,也就能自己找到方法解决了。

学习程序设计要有一定的逻辑思维能力.逻辑思维需要长时间的锻炼,如果你觉得自己在逻辑思维能力上有不足,也没有关系,因为编写程序本身也是对逻辑思维的锻炼.初学程序设计应具备的逻辑基础可以从高中数学中学到.

 

8.附录

有些需要说明的部分。

如添加ActiveX等非不标准部件,或使用文件操作时对路径有特殊要求等。

若没有特殊要求,此处为“无”。

1、无

 

9.参考文献

1、陈明锐.VisualBasic程序设计及应用教程.北京:

高等教育出版社,2008.12

2、龙沛曾、陆慰民、杨志强《VisualBasic程序设计简明教程》高教出版社

3、杨克玉《VB6、0程序设计实训教程》机械工业出版社

4、参考网址

 

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

当前位置:首页 > 初中教育 > 数学

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

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