求助VB课程设计 暖气费管理系统。
一、设计题目:暖气费管理系统(出题人:赵秀平)二、目的与要求:
1.目的:
培养学生综合利用VB语言进行程序设计的能力,主要是培养学生综合使用控件的、文件读写、数组操作等能力。
2.基本要求:
设计一个暖气费管理系统,要求具有如下的功能:
利用“打开”对话框,打开选中的数据文件nqf.txt,并从该文件中读取单元号、房号、供暖情况、建筑面积,保存在数组中,并显示在文本框中。
根据建筑面积和单位建筑面积供热费用,计算出“应交暖气费”,保存在数组中,并显示在文本框中。
根据供暖情况,计算已收暖气费,保存在数组中,并显示在文本框中。
汇总每个单元的应交暖气费之和及已收暖气费之和,并显示在另一窗体的文本框中。
根据已交暖气费数据统计出已交费的户数,计算交费百分比,并显示。
可以按照单元号或房号查询供热信息,查询结果显示在另一窗体的文本框中。
3.创新要求:
在基本要求达到后,进行创新设计,进一步完善系统。创新方向提示如下:
★ 在程序运行时,可以修改某个住户的供暖情况。
★ 可以根据给定的关键字对供暖信息排序。
★ 绘制比较应交与已收暖气费的图表等。
三、设计方法和基本原理:
1. 问题描述:
程序有两个窗体,一个主窗体,一个用来显示查询和汇总结果。程序界面运行状态示意图如下所示:
(1) 通过“读取数据”按钮应能利用“打开”对话框,打开选中的数据文件nqf.txt,并从该文件中读取单元号、房号、供暖情况、建筑面积,保存在数组中,并显示在文本框中。
(2) 单击“应交暖气费”按钮弹出输入对话框,如右图,输入单位建筑面积供热费用,然后计算出“应交暖气费”,保存在数组中,并显示在文本框中。应交暖气=建筑面积×单位建筑面积供热费用。
(3) 单击“已收暖气费”按钮根据供暖情况,计算已收暖气费,保存在数组中,并显示在文本框中。供暖情况为“OK”的,已收暖气费等于应交暖气费,否则为0。
(4) 单击“单元交费汇总”按钮应能计算出每个单元的应交暖气费之和及已收暖气费之和,并显示在另一窗体的文本框中。
(5) 单击“统计交费情况”按钮应能根据已交暖气费数据统计出已交费的户数,计算交费百分比,并显示。
(6) 单击“查询”框架中“单元号”单选框,在弹出的输入对话框中输入要查询的单元号,将此单元号的各个住户的供暖信息显示在另一窗体的文本框中。
(7) 单击“查询”框架中“房号”单选框,在弹出的输入对话框中输入要查询的房号,将各个单元中此房号的的供暖信息显示在另一窗体的文本框中。
2. 问题的解决方案:
①设置属性
设计时要注意一些功能需要在其它功能之后才能使用,如 “应交暖气费”、“已收暖气费”等按钮和“查询”框架需要在读入数据或计算后才能使用,设计界面时需要将相应的按钮的Enable属性为false,在读入数据或计算后才设置Enable属性为True。
②编写代码
需要对每一个窗体编写事件处理过程。最主要的工作包含在主窗体中,代码包括事件处理过程和必要的声明。变量声明部分声明本程序所需要的变量和数组,由于单击按钮时,都要对存放单元号、房号、供暖情况、建筑面积、应交暖气费、已收暖气费进行操作,因此相应的数组和变量应定义为模块级的,根据需要具体确定。在编写事件处理过程代码时注意以下几点:
(1) 定义模块级动态数组分别用于存放单元号、房号、供暖情况、建筑面积、应交暖气费、已收暖气费。
(2) 单击“读取数据”按钮,利用通用对话框所提供的打开标准对话框来选择要打开的数据文件,并利用文件的基本操作将该文件中的的数据依次读入到相应数组中。注意为保留动态数组中存放的内容,在使用ReDim语句中要加上Preserve关键字。
(3) 计算出“应交暖气费”时,利用InputBox 函数来输入单位建筑面积供热费用,然后通过循环进行计算,将计算结果存放在数组中。
(4) 利用MsgBox 函数或另一个窗体来显示统计交费情况的结果。
(5) 在进行查询时,利用InputBox 函数来输入单元号或房号,然后通过循环得到此单元号的各个住户的供暖信息或各个单元中此房号的的供暖信息。。
四、主要技术问题的描述:
(1) 通用对话框控件的使用参考课本第十章。
(2) 从文本文件读取数据到数组的操作参看课本第七章顺序文件的读操作。
(3) 一旦数组中有了文件的内容,则可以将其内容逐行地、通过字符串连接符赋给文本框的Text属性,从而显示出来了。要控制文本框中文本的换行可以利用VB的系统常数vbCrLf来实现。
(4) 在执行“单元交费汇总”或“查询”时,如果信息显示在另一个窗体中的Text1控件中,应在Text1控件前加上窗体的名称,并以点分隔来表明控件所属的窗体。如:
Form2.Text1.Text = Form2.Text1.Text & txt(lines) & vbCrLf
‘在窗体Form2中的文本框中显示