作业帮 > 综合 > 作业

这道VB程序题目做出来后发现语句基本正确,就是有一些小问题,

来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/09/20 10:44:44
这道VB程序题目做出来后发现语句基本正确,就是有一些小问题,
我们大家一起来试营一家有80间套房的旅馆,看看知识如何转化为财富.经调查得知,若我们把每日租金定价为160元,则可客满;而租金每涨20元,就会失去3位客人.每间住了人的客房每日所需服务、维修等项支出共计40元.我们该如何定价才能赚最多的钱?
答:
Dim sum,room,rent,customer,p,c,maintain As Integer
Dim last_sum,last_rent,last_room As Integer
Private Sub Command1_Click()
last_sum = 0
For rent = 160 To 1000 Step p
customer = customer - c
room = customer
sum = rent * room - maintain * room
If last_sum < sum Then
last_sum = sum
last_rent = rent
last_room = room
End If
Next rent
Label2.Caption = "最高租金为" & last_rent & "元;最多用房间数为" & last_room & ";最大收入为" & last_sum & "元."
End Sub
Private Sub Form_Load()
room = 80
customer = 80
rent = 160
maintain = 40
p = 20
c = 3
End Sub
正确答案是:最高租金为360元,最多用房间数为50,最大收入为16000元,
这道VB程序题目做出来后发现语句基本正确,就是有一些小问题,
你的问题主要出在For循环中
第一次循环时,rent=160,你就直接把顾客数-3,即customer = customer - c
这时客户数已经是77了,如果用这个客户数去算收入就错了(因为租金为160时,是80人住,收入也是按80人算).
应该是先算好收入,再把顾客数-3就可以了.
程序改写很简单,将customer = customer - c移到End If的后面一行就可以了.
另外,你变量定义很是个问题.
Dim sum,room,rent,customer,p,c,maintain As Integer
这样,就只有maintain是整型,其它都是变体类型,如果要都定义成整型,则应写作:
Dim sum As Integer,room As Integer,rent As Integer,customer As Integer,p As Integer,c As Integer,maintain As Integer
还有,p,c,maitain都是固定不变的,建议定义成常量(用const)