VB课程设计报告

时间:2024.11.2

课程设计报告书

课程设计名称:   VB程序设计报告书                     

         (部)                     

专业班级                       

学生姓名XXX               

    号:                  

指导教师:                       

完成日期:      20##年1月6日                 

山东科技大学泰山科技学院



一 前  言

Visual Basic是可视化程序设计语言,具有简单易学、功能强大、软件费用支出低、见效快等诸多特点,而且是Windows应用程序最迅速最简洁的开发工具,易于初学者和非专业人员掌握使用。目前,全世界数以百万计的程序设计人员正在用Visual Basic开发各种类型的各种软件。

本课程是一门面向全国高校各个专业大学生的公共必修课,它以microsoft可视化编程工具Visual Basic6.0为例主要介绍高级程序设计方法。Visual Basic6.0由于其具有界面友好,操作方便面等优点,是从事计算机设计的最佳编程工具之一,同时也是学习Windows编程设计的极好语言。通过本课程的学习,使学生掌握用Windows编程解决实际问题的一般办法,包括语句、函数、控件等 概念的掌握,以及从基本控件的使用到高级控件的应用,从图形编程、文件使用到多媒体程序开发,从数据库编程到定制Activex控件等内容,为培养学生结合专业进行软件开发的能力打好基础。

二、课程设计的性质和目的

学生应通过接触客观实际,了解和认识所学的专业知识,掌握所学知识在客观实际中的应用,并能亲自动手完成相关题目设计。把所学的理论知识与实际能力紧密的结合在一起。

三、课程设计的基本内容和要求

本次课程设计要求学生熟练掌握《VB程序设计》课程的基础知识,独立完成设计任务,并完成课程设计报告,主要要求学生掌握以下内容:

理解系统开发的必要步骤,绘制流程图、根据流程图编写程序、并自主进行必要的测试与维护。最后形成规范的设计报告。


四 课程设计必要性

     随着社会的不断变革和发展,以计算机为依托的信息技术高速发展。因此,人们除掌握自然语言外,还需掌握另一种语言——VB计算机程序设计语言。从这点出发,现代计算机教育应对程序设计语言给与更多的关注,使其充分发挥更多的作用。

     Visual Basic  不仅是 Visual Basic 编程语言。Visual Basic 编程系统,MicrosoftExcel 的Applications Edition,Microsoft Access和Windows的许多其他应用程序都使用这一语言。Visual Basic Scripting Edition (VBScript) 是广泛使用的脚本语言,它是 Visual Basic 语言的子集。这样,在学习 Visual Basic 中得到的经验可应用到所有这些领域中。
    从开发个人使用或小组使用的小工具,到大型企业应用系统,甚至通过Internet 的遍及全球分布式应用程序,都可在 Visual Basic 提供的工具中各取所需。

   Visual Basic作为一门当代大学生学习普遍学习的必修课,我们更有理由去学好Visual Basic。这对我们将来的学习和工作很重要,小到个人,达到工作、社会我们都有可能用到Visual Basic。因此学好这门课的程序设计是非常有必要的。

 

 

五 工程概况

一 项目名称

1.设计(四则运算)窗体文件(必做)

2.使用vb制作一个指针式时钟

3.编写一个程序,使得输入一个数字,当点击按钮后转换为中文大写的货币表示。

六 具体过程

一 设计(四则运算)窗体文件(必做)

题目要求:基本设计(必做):按下列运行界面,设计(四则运算)窗体文件。

1要完成此设计,首先我们需要先建立:4个label、3个text、1个组合框、3个command控件。并在建立工程中通过右侧的属性窗口将建立的控件名称改为如图所示。

2编写代码,在打开的代码编写窗口按照如下代码编写

Private Sub Command1_Click()

Da1 = Val(Text1.Text)

da2 = Val(Text2.Text)

Select Case Combo1.ListIndex

       Case 0

da3 = Da1 + da2

   Case 1

da3 = Da1 - da2

  Case 2

da3 = Da1 * da2

   Case 3

da3 = Da1 / da2

End Select

Text3.Text = da3

End Sub

Private Sub Command2_Click()

Text1.Text = ""

Text2.Text = ""

Text3.Text = ""

Text1.SetFocus

End Sub

Private Sub Command3_Click()

End

End Sub

Private Sub Form_Load()

Combo1.List(0) = "+"

Combo1.List(1) = "-"

Combo1.List(2) = "*"

Combo1.List(3) = "/"

End Sub

3 然后进行程序调试并运行(经验证运行无误)。

二 使用vb制作一个指针式时钟,本课题使用直线控件作为时钟的指针,再使用定时器控件控制直线控件的位置,从而使得直线控件能向时钟中的指针一样顺时针转动。

1要完成此设计,我们需要建立一个timer控件,然后按照如下代码编写:

Const PI = 3.1415926

Private Sub Form_Load()

  Scale (-100, 100)-(100, -100)

  Timer1.Interval = 1000

  Form1.BackColor = &HFFFFFF

  Timer1_Timer

  Form1.Show

  Form1.Refresh

  Call Timer1_Timer

End Sub

Private Sub Form_Paint()

  Call MyDraw

End Sub

Public Sub MyDraw()

  Cls

  Scale (-100, 100)-(100, -100)

  For i = 0 To 2 * PI Step PI / 30

      Form1.DrawWidth = 3

      PSet (60 * Cos(-i), 60 * Sin(-i)), vbGreen

  Next i

  For i = 0 To 2 * PI Step PI / 6

      Form1.DrawWidth = 6

      PSet (60 * Cos(-i), 60 * Sin(-i)), vbRed

  Next i

End Sub

Private Sub Form_Resize()

    Form1.Refresh

End Sub

Private Sub Timer1_Timer()

Form1.Refresh

  Form1.Caption = Time

  s = Second(Time) * PI / 30

  DrawWidth = 2

  Line (0, 0)-(55 * Cos(-Second(Time) * (PI / 30) + PI / 2), 55 * Sin(-Second(Time) * (PI / 30) + PI / 2)), vbBlue

  m = Minute(Time)

  m1 = (m + s / 60) * (PI / 30) - PI / 2

  DrawWidth = 3

  Line (0, 0)-(45 * Cos(-m1), 45 * Sin(-m1)), vbBlack

  h = Hour(Time)

  h1 = (h + (m * 60 + s) / 3600) * PI / 6 - PI / 2

  DrawWidth = 3.5

  Line (0, 0)-(25 * Cos(-h1), 35 * Sin(-h1)), vbGreen

End Sub

2运行并调试程序(经验证运行无误)。

三 编写一个程序,使得输入一个数字,当点击按钮后转换为中文大写的货币表示。

  1要完成此设计,我们需要建立一个一个文本框和一个命令框并且按如下代码编写:Private Sub Command1_Click()

MsgBox GetChinaMoney(Text1.Text)

End Sub

Private Sub Form_Load()

Text1.MaxLength = 16

Text1.Text = ""

Text1.Text = ""

End Sub

Public Function GetChinaMoney(ByVal strNumber) As String

Dim a() As String

Dim s1 As String, s2 As String

Dim l1 As String

Dim s3 As String

Dim strEng As String

strEng2Ch = "零壹贰叁肆伍陆柒捌玖"

If Not IsNumeric(strNumber) Then

If Trim(strNumber) <> "" Then MsgBox "无效的数字"

GetChinaMoney = ""

Exit Function

End If

l1 = InStr(strNumber, ".")

If l1 <> 0 Then

s1 = Left(strNumber, l1 - 1)

s2 = Mid(strNumber, l1 + 1)

Else

s1 = strNumber

s2 = "0"

End If

s1 = Dig2Chinese_pb(s1)

s3 = ""

If s2 <> 0 Then

For i = 1 To Len(s2)

If i = 1 Then s3 = s3 & Mid(strEng2Ch, Val(Mid(s2, i, 1)) + 1, 1) & "角"

If i = 2 Then s3 = s3 & Mid(strEng2Ch, Val(Mid(s2, i, 1)) + 1, 1) & "分"

If i = 3 Then s3 = s3 & Mid(strEng2Ch, Val(Mid(s2, i, 1)) + 1, 1) & "厘"

If i = 4 Then s3 = s3 & Mid(strEng2Ch, Val(Mid(s2, i, 1)) + 1, 1) & "毫"

Next

End If

GetChinaMoney = s1 & "元" & s3

End Function

Public Function Dig2Chinese_pb(strEng As String) As String

Dim intLen As Integer, intCounter As Integer

Dim strCh As String, strtempCh As String

Dim strSeqCh1 As String, strSeqCh2 As String

Dim strEng2Ch As String

Dim sTemp As String

Dim i As Integer

Dim iWanBit As Integer

Dim iYiBit As Integer

Dim iWanYiBit As Integer

Dim sFoward As String

iWanBit = 0: iYiBit = 0: iWanYiBit = 0

sFoward = StrReverse(strEng)

For i = 1 To Len(sFoward)

Dim val1 As Long

val1 = Val(Mid(sFoward, i, 1))

If i >= 5 And i <= 8 Then

If iWanBit = 0 Then

If val1 <> 0 Then iWanBit = i

End If

End If

If i >= 9 And i <= 12 Then

If iYiBit = 0 Then

If val1 <> 0 Then iYiBit = i

End If

End If

If i >= 13 And i <= 16 Then

If iWanYiBit = 0 Then

If val1 <> 0 Then iWanYiBit = i

End If

End If

Next

If Not IsNumeric(strEng) Then

If Trim(strEng) <> "" Then MsgBox "无效的数字"

Dig2Chinese_pb = ""

Exit Function

End If

If Len(strEng) > 15 Then

MsgBox "数字位数太长"

Dig2Chinese_pb = ""

Exit Function

End If

strEng2Ch = "零壹贰叁肆伍陆柒捌玖"

strSeqCh1 = " 拾佰仟 拾佰仟 拾佰仟 拾佰仟"

strSeqCh2 = " 万亿兆"

'转换为表示数值的字符串

strEng = CStr(CDec(strEng))

'len

intLen = Len(strEng)

'change to chinese

For intCounter = 1 To intLen

strtempCh = Mid(strEng2Ch, Val(Mid(strEng, intCounter, 1)) + 1, 1)

If strtempCh = "零" And intLen <> 1 Then

' If Mid(strEng, intCounter + 1, 1) = "0" Or (intLen - intCounter + 1) Mod 4 = 1 Then

'若之后一个也是零,或在最后,则不显示"零"

If Mid(strEng, intCounter + 1, 1) = "0" Or intCounter = intLen Then

strtempCh = ""

End If

Else

'添加位 拾佰仟

If strtempCh <> "零" Then strtempCh = strtempCh & Trim(Mid(strSeqCh1, intLen - intCounter + 1, 1))

End If

'添加位 "万"(5-8),"亿"(9-12),"万亿"(13-16)

' iWanBit = 0: iYiBit = 0: iWanYiBit = 0

If intCounter = Len(strEng) + 1 - iWanBit Then strtempCh = strtempCh & "万"

If intCounter = Len(strEng) + 1 - iYiBit Then strtempCh = strtempCh & "亿"

If intCounter = Len(strEng) + 1 - iWanYiBit Then strtempCh = strtempCh & "万亿"

'组成汉字

strCh = strCh & Trim(strtempCh)

Next

Dig2Chinese_pb = strCh

End Function

2 运行并调试(经调试运行无误)。

致谢

在本次课程设计中,我从指导老师和同学们身上学到了很多东西。老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅。他无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高这对于我以后的工作和学习都有一种巨大的帮助,感谢他耐心的辅导。

同学们学习热情高涨,对问题肯钻研,敢挑战,让我受到很大的鼓舞。大家耐心细心的研究学习,最终解决问题,让人很高兴。

参考文献:

Visual Basic6.0程序设计教程 西北工业大学出版社。

龚沛曾,陆慰民,杨志强.Vsual Basic 程序设计教程.高等教育出版社出版。

刘新民,蔡琼,白糠生.Vsual Basic 6.0程序设计.清华大学出版社出版。

赵欣胜,亢慧娟,刘晟宏.Vsual Basic 经典范例50讲.科学出版社出版。

卢毅.Vsual Basic实例教程.科学出版社出版。

唐凯军,汤惠莉.VB6编程80例上手.山东电子音像出版社。

百度知道贴吧

爱问知识人网站

更多相关推荐:
课程设计报告

1课程设计目的课程设计是船舶设计原理课程重要的实践性教学环节是培养学生掌握船舶设计基本原理和能力的技术基础主尺度论证与总布置设计是船舶总体设计的重要组成部分通过课程设计的训练力求使学生实现从学生到船舶设计师的角...

课程设计报告内容

一设计目的1强化上机动手能力在理论和实践的基础上进一步巩固数据结构课程学习的内容掌握工程化软件设计的基本方法2掌握图的创建和应用3掌握迪杰斯特拉以及Prim等基本算法思想4掌握if语句及switch语句的运用方...

课程设计报告

中国计量学院信息工程学院课程设计报告课程设计名称系统设计与仿真课程计二级学院信息工程学院专业班级10电信2班学姓成绩号名1000301232廖壁波指导老师20xx年12月13日中国计量学院信息工程学院课程设计报...

课程设计报告模板

信息科学与工程学院高级语言程序设计课程设计报告学生成绩管理系统学科专业计算机科学与技术班级1301学号指导教师唐郑熠讲师学生二零年月目录目录1设计任务12需求分析121基础功能122扩展功能13系统概要设计13...

课程设计报告

扬州大学数据结构课程设计报告课题名称姓名学院系科班级指导老师日期自来水管架设问题广陵学院陈宏建1一课程设计的题目自来水管理架设问题问题描述若要在扬州大学的八个居民区A区B区C区D区E区F区G区H区之间架设自来水...

课程设计报告

系统软件课程设计时钟中断与进程调度学号姓名指导教师11070319许明秀金雪云20xx年12月一报告摘要进程调度是操作系统十分重要的一个部分在操作系统的设计过程中进程调度和时钟中断形成了密不可分的关系系统时钟定...

计算机高级语言课程设计报告—学生成绩管理系统

计算机高级语言课程设计报告学生成绩管理系统班级:学号:姓名:日期:20##年1月18日一.课程设计题目与要求实习题目:学生成绩管理系统【实习内容】C++语言,面向对象的分析与设计。【基本要求】学生成绩管理是高等…

网页课程设计与报告

存档资料成绩:华东交通大学理工学院课程设计报告书所属课程名称网页设计与制作课程设计题目网站首页分院电信分院专业班级信息管理与信息系统1班学号##学生姓名何XX指导教师##20##年12月24日目录第一章绪论..…

简易温度控制系统(课设报告)

长安大学单片机课程设计-简易温度控制系统-专业:电气工程及其自动化学号:姓名:指导老师:时间:20##.12.30摘要随着科技的不断进步,在工业生产中温度是常用的被控参数,而采用单片机来对这些被控参数进行控制已…

Java课程设计报告模板

Java程序设计课程设计报告(20##--20##年度第1学期)Hannio塔专业:计算机科学技术(网络工程)学生姓名:##班级:B计算机##学号:##指导教师:##完成日期:20##年1月8日目录目录...2…

计算机网络课程设计报告

计算机网络课程设计报告一.课程设计的题目、目的及要求.........................................................2二.课程设计的内容(分析和设计).....…

软件课程设计报告

任务书北京信息科技大学计算机软件基础课程设计题目从某个源点到其余各顶点的最短路径学院专业学生姓名班级学号指导老师起止时间任务书1摘要摘要本次课程设计的问题假设西安北京沈阳武汉4个城市构成小型交通网4个城市表示图...

课程设计报告(33篇)