第五章 程序设计与软件工程基础.docx

上传人:b****8 文档编号:11092784 上传时间:2023-02-25 格式:DOCX 页数:18 大小:68.73KB
下载 相关 举报
第五章 程序设计与软件工程基础.docx_第1页
第1页 / 共18页
第五章 程序设计与软件工程基础.docx_第2页
第2页 / 共18页
第五章 程序设计与软件工程基础.docx_第3页
第3页 / 共18页
第五章 程序设计与软件工程基础.docx_第4页
第4页 / 共18页
第五章 程序设计与软件工程基础.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

第五章 程序设计与软件工程基础.docx

《第五章 程序设计与软件工程基础.docx》由会员分享,可在线阅读,更多相关《第五章 程序设计与软件工程基础.docx(18页珍藏版)》请在冰豆网上搜索。

第五章 程序设计与软件工程基础.docx

第五章程序设计与软件工程基础

第五章程序设计与软件工程基础

实验十一VB6.0的基本操作

学号:

姓名:

成绩:

学院(系):

专业:

班级:

一、实验要求

1.上机实验前必须认真阅读整个实验内容,并认真学习配套教材上的相关知识。

2.上机实验后,请完成实验步骤部分的填空。

3.完成回答问题部分的所有问题。

4.上机完成修改程序部分的操作。

5.将完成后的整个实验内容作为实验报告,并从裁剪线处剪下交给任课教师。

二、实验目的

1.熟悉VisualBasic6.0的集成开发环境。

2.掌握用VisualBasic6.0编程的一般步骤。

3.学会使用窗体对象,以及在窗体上设计应用程序界面。

4.掌握CommandButton、PictureBox、TextBox等控件的建立及使用方法。

5.学会设置窗体和其他控件的属性。

6.掌握Click事件的使用方法,理解事件驱动过程。

三、实验内容

创建一个工程,该工程包含窗体FormPicture和FormText。

窗体FormPicture用于显示和清除图片,窗体FormText用于显示和清除文本。

具体要求如下:

1.在窗体FormPicture上,用程序实现图片的显示与清除。

窗体上有四个控件:

图片框Picture1用于显示图片;命令按钮Command1用于驱动Command1_Click()事件,完成显示图片的任务;命令按钮Command2用于驱动Command2_Click()事件,完成清除图片的任务;命令按钮Command3用于驱动Command3_Click()事件,完成转向窗体FormText的任务。

2.在窗体FormText上,用程序实现文本的显示与清除。

窗体上有四个控件:

文本框Text1用于显示文本内容;命令按钮Command1用于驱动Command1_Click()事件,完成显示文本的任务;命令按钮Command2用于驱动Command2_Click()事件,完成清除文本的任务;命令按钮Command3用于驱动Command3_Click()事件,完成转向窗体FormPicture的任务。

四、实验步骤

1.执行“文件”菜单中的“新建工程”命令创建一个新工程,同时系统自动为新工程创建一个名字为Form1的窗体。

2.执行“工程”菜单中的“添加窗体”命令再新建一个名字为Form2的窗体。

3.双击工程资源管理器窗口中的Form1窗体使窗体Form1被选中,在属性窗口中将Form1的Name(名称)属性设置为FormPicture。

4.在窗体FormPicture上,用工具箱上的图片框PictureBox创建控件Picture1,用命令按钮CommandButton创建对象Command1、Command2和Command3。

窗体界面如图5-1所示。

图5-1

5.选中窗体FormPicture上的每一个控件,在属性窗口中依次为他们设置表5-1所示的属性值。

表5-1 FormPicture上控件的属性设置

控件名称

属性

属性值

控件名称

属性

属性值

FormPicture

Caption

显示或清除图片

Command2

Caption

清除图片

Picture1

AutoSize

True

Font

宋体5号

Command1

Caption

显示图片

Command3

Caption

转文本窗口

Font

宋体5号

Font

宋体5号

6.双击窗体FormPicture上的命令按钮Command1进入代码编辑窗口,然后输入以下程序。

RemCommand1_Click()事件完成显示图片任务

PrivateSubCommand1_Click()

Picture1.Picture=LoadPicture("D:

\lj\tp.bmp")

'用LoadPicture()在图片框中装入图形,装入的图形可自己设置

EndSub

RemCommand2_Click()事件完成清除图片任务

PrivateSubCommand2_Click()

Picture1.Picture=LoadPicture()

'装入一个空图形时可删除图片框中原来的图形

EndSub

RemCommand3_Click()事件完成转换窗口任务

PrivateSubCommand3_Click()

FormPicture.Hide'隐藏窗体FormPicture

FormText.Show'显示窗体FormText

EndSub

说明:

图片框PictureBox控件的主要作用是为用户显示图片,也可以作为其他控件的容器。

可显示的图片格式有.bmp、.ico、.jpg、.gif等。

图片框的AutoSize属性设置为True时,图片框能自动调整大小与显示的图片匹配;设置为False时,图片框不能自动调整大小来适应其中的图片。

7.双击工程资源管理器窗口中的Form2窗体使窗体Form2被选中,在属性窗口中将Form2的Name(名称)属性设置为FormText。

8.在窗体FormText上,用工具箱上的文本框TextBox创建控件Text1,用命令按钮CommandButton创建对象Command1、Command2和Command3。

窗体界面如图5-2所示。

图5-2

9.选中窗体FormText上的每一个控件,参照表5-1和图5-2,在属性窗口中依次为他们设置属性值,最后填上表5-2中的空。

表5-2 FormText上控件的属性设置

控件名称

属性

属性值

控件名称

属性

属性值

FormText

Caption

Command1

Caption

Text1

Caption

Font

宋体小5号加粗

BorderStyle

1

Command2

Caption

ForeColor

蓝色

Font

宋体小5号加粗

Font

隶书三号

Command3

Caption

返图片窗口

Font

10.双击窗体FormText上的命令按钮Command1进入代码编辑窗口,然后输入以下程序。

RemCommand1_Click()事件完成显示文本任务

PrivateSubCommand1_Click()

Text1.Text="欢迎使用VisualBasic"'设置Text的值

EndSub

RemCommand2_Click()事件完成清除文本任务

PrivateSubCommand2_Click()

Text1.Text=""'清除Text的值

EndSub

RemCommand3_Click()事件完成转换窗口任务

PrivateSubCommand3_Click()

Formtext.Hide'隐藏窗体FormText

Formpicture.Show'显示窗体FormPicture

EndSub

11.执行“运行”菜单中的“启动”命令运行程序,屏幕上显示FormPicture窗体的界面,单击命令按钮“显示图片”可驱动Command1_Click()事件,在图片框中显示图片,如图5-3(a)所示;单击命令按钮“清除图片”可驱动Command2_Click()事件,清除图片框中的图片;单击命令按钮“转文本窗口”可驱动Command3_Click()事件,屏幕上显示FormText窗体的界面。

12.在FormText窗体的界面上,单击命令按钮“显示文本”可在文本框中显示文本,如图5-3(b)所示;单击命令按钮“清除文本”可清除文本框中的文本;单击命令按钮“返图片窗口”可在屏幕上显示FormPicture窗体的界面。

(a)(b)

图5-3

13.当运行程序能完成设计要求时,执行“运行”菜单中的“结束”命令或单击窗体界面上的关闭按钮可以结束当前程序的运行。

14.执行“文件”菜单中的“工程另存为”命令来保存工程,文件名为sy6_1.vbp。

15.双击工程资源管理器窗口中的FormPicture窗体使窗体FormPicture被选中,执行“文件”菜单中的“FormPicture另存为”命令来保存窗体,窗体文件名为sy6_1_1.frm;双击工程资源管理器窗口中的FormText窗体使窗体FormText被选中,执行“文件”菜单中的“FormText另存为”命令来保存窗体,窗体文件名为sy6_1_2.frm。

五、回答问题

1.运行程序时,命令按钮的执行顺序必须为显示图片、清除图片、转文本窗口吗?

请用事件驱动的程序设计思想来简答本题。

答:

 

2.执行“工程”菜单中的“工程属性”命令打开“工程属性”对话框,在对话框的“启动对象”的下拉列表框中选择“FormText”,即设置启动对象为FormText。

请问重新设置启动对象后,再运行程序时首先显示的窗体是哪一个?

答:

 

3.文本框中显示的文本是什么颜色?

请写出在属性窗口中将文本颜色改成红色的操作过程以及在程序中设置文本颜色为红色的语句行。

答:

 

六、修改程序

1.将FormPicture窗体中命令按钮“显示图片”的单击事件修改如下:

PrivateSubCommand1_Click()

tp$=InputBox$("请输入图片所在的位置和名字!

","输入图片名","d:

\lj\tp.bmp")

Picture1.Picture=LoadPicture(tp)

EndSub

2.运行程序,在FormPicture窗体界面上单击命令按钮“显示图片”,打开“输入图片名”的输入对话框,如图5-4所示。

在对话框中输入要显示的图片的位置和文件名,然后单击“确定”按钮或按下回车键,相应的图片就显示在图片框中。

图5-4

 

实验十二学生成绩统计

学号:

姓名:

成绩:

学院(系):

专业:

班级:

一、实验要求

1.上机实验前必须认真阅读整个实验内容,并认真学习配套教材上的相关知识。

2.完成回答问题部分的所有问题。

3.上机完成修改程序部分的操作。

4.将完成后的整个实验内容作为实验报告,并从裁剪线处剪下交给任课教师。

二、实验目的

1.掌握程序界面的设计过程。

2.掌握ListBox、Frame控件的建立及使用方法。

3.进一步体会属性设置的过程和方法。

4.学会使用数组来组织数据。

5.掌握Load、SetFocus、GotFocus事件的使用方法,进一步理解事件驱动过程。

三、实验内容

创建一个能完成对学生成绩进行输入、统计、显示的工程,该工程包含一个窗体Form1。

具体要求为:

1.程序运行时,由用户在文本框中输入学生人数,以及每个学生的学号、数学成绩、语文成绩和英语成绩。

2.输入完一个学生的各项内容后,立即计算出三门课的总分,然后将该学生的全部信息添加到列表框List1中。

3.按学生总分的降序排列在列表框List2中显示出各学生的情况。

图5-5

四、实验步骤

1.执行“文件”菜单中的“新建工程”命令创建一个新工程,同时系统自动为新工程创建一个名字为Form1的窗体。

2.在窗体上,利用工具箱创建三个标签控件Label5、Label6、Label7,用于显示提示文本;创建一个文本框控件Text5,用于输入学生人数;创建两个列表框控件List1、List2,用于显示所有学生的各项信息。

3.利用工具箱上的Frame控件创建一个框架Frame1,并在其中创建四个标签控件Label1、Label2、Label3、Label4,用于显示学号和各科成绩名称;创建四个文本框控件Text1、Text2、Text3、Text4,用于输入学生的学号和成绩。

4.通过移动窗体上各个控件的位置和调整控件的大小来合理布置、美化窗体界面,窗体界面如图5-5所示。

5.选中窗体上的每一个控件,在属性窗口中依次为他们设置表5-3所示的属性值。

表5-3 设置控件属性

控件名称

属性

属性值

控件名称

属性

属性值

Form1

Caption

成绩输入及统计

Label1

Caption

英语

Frame1

Caption

输入学号及各科成绩

Font

宋体5号

Font

宋体5号加粗

Text1

Caption

空白

Label7

Caption

按总分降序显示学生的情况

Font

宋体5号

Font

宋体5号加粗

Text2

Caption

空白

Label6

Caption

按输入顺序显示学生的情况

Font

宋体5号

Font

宋体5号加粗

Text3

Caption

空白

Label5

Caption

输入学生人数

Font

宋体5号

Font

宋体5号加粗

Text4

Caption

空白

Label4

Caption

学号

Font

宋体5号

Font

宋体5号

Text5

Caption

空白

Label3

Caption

语文

Font

宋体5号

Font

宋体5号

List1

List

空白

Label2

Caption

数学

List2

List

空白

Font

宋体5号

6.双击窗体进入代码编辑窗口,然后输入以下程序。

Dimcj()AsInteger,n%,n1%,i%,j%,t%'定义全局变量及动态数组

RemForm_Load()用于初始化

PrivateSubForm_Load()

Text1=""

Text2=""

Text3=""

Text4=""

Text5=""

n1=0

EndSub

RemText5_LostFocus()根据输入的学生人数重定义数组

PrivateSubText5_LostFocus()

n=Val(Text5.Text)'将输入的学生人数存入变量n中

ReDimcj(n,5)'重新定义数组cj

Rem下一语句的功能是在List1中添加一个列表项,内容为标题说明

List1.AddItem"学号语文数学英语总分"

EndSub

RemText4_LostFocus()用于计算总分并将学生成绩存到数组中、添加到List1中

PrivateSubText4_LostFocus()

Text1.SetFocus'使控件Text1获得焦点

n1=n1+1'其中存放已经输入了各项信息的学生人数

cj(n1,1)=Val(Text1.Text)'cj(n1,1)中存放第n1个学生的学号

cj(n1,2)=Val(Text2.Text)'cj(n1,2)中存放第n1个学生的语文成绩

cj(n1,3)=Val(Text3.Text)'cj(n1,3)中存放第n1个学生的数学成绩

cj(n1,4)=Val(Text4.Text)'cj(n1,2)中存放第n1个学生的英语成绩

cj(n1,5)=cj(n1,2)+cj(n1,3)+cj(n1,4)'计算总分并存入数组元素cj(n1,5)中

Rem下一语句的功能是在List1中添加一个列表项,即第n1个学生的全部信息

List1.AddItemcj(n1,1)&""&cj(n1,2)&""&cj(n1,3)_

&""&cj(n1,4)&""&cj(n1,5)

Text1=""

Text2=""

Text3=""

Text4=""

Ifn1=nThen

Frame1.Enabled=False'使控件Frame1不允许操作

List2.SetFocus'使控件List2获得焦点

EndIf

EndSub

RemList2_GotFocus()将学生信息按总分降序显示在List2中

PrivateSubList2_GotFocus()

List2.AddItem"学号语文数学英语总分"

Fori=1Ton'该双循环是用选择法完成成绩的排序

Forj=i+1Ton

Ifcj(i,5)

T=cj(i,5):

cj(i,5)=cj(j,5):

cj(j,5)=T'交换数据

T=cj(i,4):

cj(i,4)=cj(j,4):

cj(j,4)=T

T=cj(i,3):

cj(i,3)=cj(j,3):

cj(j,3)=T

T=cj(i,2):

cj(i,2)=cj(j,2):

cj(j,2)=T

T=j(i,1):

cj(i,1)=cj(j,1):

cj(j,1)=T

EndIf

Nextj

List2.AddItemcj(i,1)&""&cj(i,2)&""&cj(i,3)_

&""&cj(i,4)&""&cj(i,5)

Nexti

EndSub

说明:

框架控件Frame的功能是将窗体上的控件分组,当框架移动时,其中的控件也跟着移动。

程序运行时,若将框架的Enabled属性设置为False,则该框架中的所有控件都不允许操作;若将框架的Visible属性设置为False,则该框架中的所有控件都不可见。

列表框控件ListBox的功能是用于列出可供用户选择的多个项目列表。

属性List用于访问列表框的所有列表项。

方法AddItem用于在程序代码中为列表框添加列表项,格式为:

[对象].AddItem列表项[,索引]

其中:

列表项是要添加的字符串表达式;索引指明列表项添加的位置,省略时表示在列表框的最后添加。

7.执行“运行”菜单中的“启动”命令运行程序,屏幕上显示窗体界面,在相应的文本框中输入学生人数、学号及各科成绩,如图5-6(a)所示,输入时可按Tab键跳到下一个输入框。

当所有学生的信息输入完毕时就会在List2(下面的框)中按总分降序显示学生情况,如图5-6(b)所示。

(a)(b)

图5-6

8.当运行程序能完成设计要求时,执行“运行”菜单中的“结束”命令或单击窗体界面上的关闭按钮可以结束当前程序的运行。

9.执行“文件”菜单中的“工程另存为”命令来保存工程,文件名为sy6_2.vbp;

执行“文件”菜单中的“Form另存为”命令来保存窗体,窗体文件名为sy6_2.frm。

五、回答问题

1.在属性窗口中将控件List1的BackColor属性改成调色板上的浅恢色,将List2的Visible属性改成False,再运行程序时List1和List2会有什么改变?

答:

 

2.若输入的学生人数为5,当5个学生的相关信息都输入完后,还能在文本框中输入其他学生的成绩吗?

若不能,请写出程序中完成此功能的程序语句。

答:

 

3.写出使List2_GotFocus()事件被驱动的语句。

答:

 

六、修改程序

修改下面的程序使其能按总分升序排列显示学生信息。

PrivateSubList2_GotFocus()

List2.AddItem"学号语文数学英语总分"

Fori=1Ton'该双循环是用选择法完成成绩的排序

Forj=i+1Ton

Ifcj(i,5)

T=cj(i,5):

cj(i,5)=cj(j,5):

cj(j,5)=T'交换数据

T=cj(i,4):

cj(i,4)=cj(j,4):

cj(j,4)=T

T=cj(i,3):

cj(i,3)=cj(j,3):

cj(j,3)=T

T=cj(i,2):

cj(i,2)=cj(j,2):

cj(j,2)=T

T=j(i,1):

cj(i,1)=cj(j,1):

cj(j,1)=T

EndIf

Nextj

List2.AddItemcj(i,1)&""&cj(i,2)&""&cj(i,3)_

&""&cj(i,4)&""&cj(i,5)

Nexti

EndSub

 

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

当前位置:首页 > 表格模板 > 合同协议

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

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