程序设计基础课程设计-数制的转换程序设计.doc_第1页
程序设计基础课程设计-数制的转换程序设计.doc_第2页
程序设计基础课程设计-数制的转换程序设计.doc_第3页
程序设计基础课程设计-数制的转换程序设计.doc_第4页
程序设计基础课程设计-数制的转换程序设计.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

程序设计基础课程设计交通与汽车工程学院课程设计说明书课 程 名 称: 程序设计基础课程设计 课 程 代 码: 题 目: 数制的转换程序设计 年级/专业/班: 学 生 姓 名: 学 号: 开 始 时 间: 2008 年 4 月 21 日完 成 时 间: 2008 年 6 月 30 日课程设计成绩:学习态度及平时成绩(30)技术水平与实际能力(20)创新(5)说明书(计算书、图纸、分析报告)撰写质量(45)总 分(100)指导教师签名: 年 月 日目 录摘要21 引言31.1问题的提出31.2任务与分析32 方案设计42.1程序功能设计42.1.1程序功能描述42.1.2程序结构分析42.1.3程序流程分析42.2程序界面和代码设计52.2.1工程设计框架52.2.2各界面及代码设计53 结果分析18结论20致谢21参考文献22 摘 要随着计算机的普及,计算机高级语言已经运用到生活中的各个方面,本次课程设计使用VB语言作为开发工具,进行了数制转换的程序设计,该程序能实现数制转换的功能,进行二进制、八进制、十进制、十六进制的相互转换等操作,转换结果简便明了,运行界面清晰实用,操作方便,易于实际处理。关键词: 计算机 VB语言 数制转换 程序 1 引 言 随着科学技术的发展,计算机已经应用到生活、工作的各个方面。VB一种可视化的、面向对象和采用事件驱动方式的高级程序设计语言,可用于开发Windows环境下的各类应用程序。本次课程设计主要内容就是使用VB编制简单、实用的小程序,以巩固我们所学的计算机VB语言知识,提高分析问题和解决问题的能力,锻炼我们独立动手的能力。1.1 问题的提出 传统的数制转换方式存在许多缺点,如效率低,工作量大,错误率高等。使用计算机设置的数制转换程序,具有笔算无法比拟的优点,例如,操作方便、可靠性高、工作量小、寿命长、成本低等。这些优点能够极大的提高工作效率,方便科学工作者的工作。所以,有必要设计数制转换程序,实现对上述功能和优点的验证。1.2任务与分析 1.2.1设计题目数制的转换程序设计1.2.2设计目的本课题(题目)主要的目的是为了合理使用VB中的软键盘操作,设计一简易的数制转换程序,实现对二进制、八进制、十进制、十六进制的相互转换等功能。2 设计方案 首先根据题目要求设计合理界面,确定哪些控件会用到,要考虑到操作的方便性和美观性。再按题目的功能要求编写对象的事件代码,并其逐一进行调试和修改。2.1程序功能设计 2.1.1程序功能描述 根据设计要求,程序要达到的功能如下:1、设计数字输入小键盘,数据输入可由鼠标操作完成;2、程序实现二进制数、八进制数、十进制数、十六进制数之间的相互转换;3、不允许使用标准函数实现转换,且转换的结果不许用户修改;4、不仅要实现整数的转换,还要实现小数部分的转换;2.1.2程序结构分析根据上面对系统功能的描述,构建出系统的总体功能结构图,如图1所示。 输入数字二进制十进制 十六进制八进制图1 系统的总体功能结构图2.1.3程序流程分析本系统运行后从欢迎界面进入主界面。程序的主要工作流程图如图2所示。 选择要转换的进制选择要输入的进制文本框显示转换数据清除,重新输入结束进入主界面输入数据图2 程序工作流程图2.2程序界面和代码设计 2.2.1工程设计框架对工程的整体布局。共设计1个工程,2个窗体。设计的工程资源管理器窗口如图3所示。图3 设计框架2.2.2 各界面及代码设计(1)欢迎界面欢迎界面如图4所示。图4 欢迎界面欢迎界面主要代码如下:Private Sub Label1_Click() Form1.Hide Form2.ShowEnd SubPrivate Sub Timer1_Timer() Randomize r = Rnd * 200000 s = Rnd * 100000 t = Rnd * 150000 Label1.ForeColor = r Label2.ForeColor = s Label3.ForeColor = tEnd SubPrivate Sub Timer2_Timer() Static i t = 数制转换程序 s = Len(t) i = i + 1 Form1.Caption = Form1.Caption & Mid(t, i, 1) If i = s + 1 Then Form1.Caption = : i = 0End Sub(2)主界面如图5所示。 图5 主界面主界面主要代码如下:通用部分的代码:Option Explicit控制command1的软键盘输入代码:Private Sub Command1_Click(index As Integer) Select Case index Case 0 To 15 Text1.Text = Text1.Text & Command1(index).Caption End SelectEnd Sub逐个清除的Command2的代码:Private Sub Command2_Click() Dim RR RR = Len(Text1) Text1 = Left(Text1, RR - 1)End Sub结束的Command3的代码:Private Sub Command3_Click() EndEnd Sub各进制转换成二进制的Command4的代码:Private Sub Command4_Click() 各进制转换成二进制Dim t, y, X, bb, j, p, q, w Dim i%, d%, b%, n%, r%, a% Dim s As Single Command5.Enabled = False Command6.Enabled = False Command7.Enabled = False t = Text1.Text y = If Option1.Value = True Then Text1.Text = t y = t Else If Option2.Value = True Then n = Len(t) For i = 1 To n d = Val(Mid(t, i, 1) s = s + d * 8 (n - i) Next i b = 2 Do r = s Mod b s = Int(s / b) y = r & y Loop Until s = 0 ElseIf Option3.Value = True Then s = Text1 b = 2 Do r = s Mod b s = Int(s / b) y = r & y Loop Until s = 0 ElseIf Option4.Value = True Then q = Text1.Text p = Len(Text1.Text) If Option4.Value = True Then q = Text1.Text n = Len(q) s = 0 For i = 1 To n w = Mid(q, i, 1) If w = A Then a = Asc(w) - 55 Else a = Val(w) End If s = s + a * 16 (n - i) Next i b = 2 Do r = s Mod b s = Int(s / b) y = r & y Loop Until s = 0 End If End If Text1.Text = y End IfEnd Sub各进制转换成八进制的Command5的代码:Private Sub Command5_Click() 各进制转换成八进制Dim t, y, X, j, p, q, wDim i%, d%, b%, n%, r%, a%Dim s As Single Command4.Enabled = False Command6.Enabled = False Command7.Enabled = False t = Text1.Text y = If Option2.Value = True Then Text1.Text = t y = t Else If Option1.Value = True Then n = Len(t) For i = 1 To n d = Val(Mid(t, i, 1) s = s + d * 2 (n - i) Next i b = 8 Do r = s Mod b s = Int(s / b) y = r & y Loop Until s = 0 ElseIf Option3.Value = True Then s = Text1 b = 8 Do r = s Mod b s = Int(s / b) y = r & y Loop Until s = 0 ElseIf Option4.Value = True Then q = Text1.Text p = Len(Text1.Text) If Option4.Value = True Then q = Text1.Text n = Len(q) s = 0 For i = 1 To n w = Mid(q, i, 1) If w = A Then a = Asc(w) - 55 Else a = Val(w) End If s = s + a * 16 (n - i) Next i b = 8 Do r = s Mod b s = Int(s / b) y = r & y Loop Until s = 0 End If End If Text1.Text = y End IfEnd Sub各进制转换成十进制的Command6的代码:Private Sub Command6_Click() 各进制转换成十进制Dim t, y, X, j, qDim i%, d%, b%, n%, r%, a%Dim s As SingleCommand4.Enabled = FalseCommand5.Enabled = FalseCommand7.Enabled = False t = Val(Text1.Text) If Option3.Value = True Then Text1.Text = t Else If Option1.Value = True Then n = Len(Text1) For i = 1 To n d = Val(Mid(Text1, i, 1) s = s + d * 2 (n - i) Next i t = s ElseIf Option2.Value = True Then n = Len(Text1) For i = 1 To n d = Val(Mid(Text1, i, 1) s = s + d * 8 (n - i) Next i t = s ElseIf Option4.Value = True Then q = Text1.Text n = Len(q) s = 0 For i = 1 To n y = Mid(q, i, 1) If y = A Then a = Asc(y) - 55 Else a = Val(y) End If s = s + a * 16 (n - i) Next i t = s End If End If Text1.Text = tEnd Sub各进制转换成十六进制的Command7的代码:Private Sub Command7_Click() 各进制转换成十六进制Dim t, y, X, bb, j, dd, ii, ss, p, q, yy, rDim i%, d%, b%, n%, a%, w%, EE%, F%Dim s As SingleCommand4.Enabled = FalseCommand5.Enabled = FalseCommand6.Enabled = False t = Text1.Text y = If Option4.Value = True Then Text1.Text = t y = t Else If Option1.Value = True Then n = Len(t) For i = 1 To n d = Val(Mid(t, i, 1) s = s + d * 2 (n - i) Next i b = 16 Do r = s Mod b If r 9 And r 9 And r 9 And r 16 Then If r = 10 Then r = A If r = 11 Then r = B If r = 12 Then r = C If r = 13 Then r = D If r = 14 Then r = E If r = 15 Then r = F End If s = Int(s / b) y = r & y Loop Until s = 0 End If End If Text1.Text = yEnd Sub全部清空的Command8的代码:Private Sub Command8_Click() Text1.Text = End Sub选择二进制的Option1代码:Private Sub option1_Click() Dim i As Integer Command4.Enabled = False Command5.Enabled = True Command6.Enabled = True Command7.Enabled = True For i = 2 To 15 Command1(i).Enabled = False Next iEnd Sub选择八进制的Option2代码:Private Sub option2_Click()Dim a, j As Integer Command5.Enabled = False Command4.Enabled = True Command6.Enabled = True Command7.Enabled = True For a = 0 To 15 Command1(a).Enabled = True Next a For j = 8 To 15 Command1(j).Enabled = False Next jEnd Sub选择十进制的Option3代码:Private Sub option3_Click() Dim a, c As Integer Command6.Enabled = False Command4.Enabled = True Command5.Enabled = True Command7.Enabled = True For a = 0 To 15 Command1(a).Enabled = True Next a For c = 10 To 15 Command1(c).Enabled = False Next cEnd Sub选择十六进制的Option4代码:Private Sub option4_Click() Dim a As IntegerCommand7.Enabled = False Command4.Enabled = True Command5.Enabled = True Command6.Enabled = True For a = 0 To 15 Comma

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论