Visual Basic 2008 programming challenges

Please support our VB.NET advertiser: Intel Parallel Studio Home
Reply

Join Date: Nov 2009
Posts: 1
Reputation: Dimonbak is an unknown quantity at this point 
Solved Threads: 0
Dimonbak Dimonbak is offline Offline
Newbie Poster

Visual Basic 2008 programming challenges

 
-1
  #1
23 Days Ago
Hello!

I currently am enrolled in an intro to VB2008. I have done well thus far but have hit a snag on Chapter 5 programming challenge 4 on p350 of the 4th edition(yellow). I swear to you I have put probably 10 hours into this embarressingly and I am ready to throw my laptop into the wall lol.
The "Hotel Occupancy" challenge states there are 8 floors, 30 rooms per floor. I am asked to design a program that prompts the user 8 separate times with an input box so they can enter the rooms that are filled on each floor.
The program should display in a listbox the floor #, rooms occupied on that floor, and percentage of rooms occupied on that floor.In addition to the list box, two labels on the form should display total occupancy percentage for entire hotel and total rooms occupied respectively.
I am new but familiar with loops and such but this one has got me. Any ideas a plus-Thanks
Reply With Quote Quick reply to this message  
Join Date: Mar 2009
Posts: 826
Reputation: vb5prgrmr will become famous soon enough vb5prgrmr will become famous soon enough 
Solved Threads: 150
vb5prgrmr vb5prgrmr is offline Offline
Practically a Posting Shark
 
0
  #2
23 Days Ago
First, PM a mod and have this thread moved to the .NET forum since this is the "classic vb verision 4/5/6 and not versions for versions2002/2003/2005/2008/2010.

Then, there are several ways in which to solve this. A single do while result <> "" or eight of those (one for each floor) or even a recursive call to the proceedure that collects this information.



Good Luck
If anyone has helped you solve your problem, please mark your thread as solved.

Thanks
Reply With Quote Quick reply to this message  
Join Date: Aug 2009
Posts: 346
Reputation: Ryshad has a spectacular aura about Ryshad has a spectacular aura about 
Solved Threads: 62
Ryshad's Avatar
Ryshad Ryshad is online now Online
Posting Whiz
 
0
  #3
20 Days Ago
Heres an example of nested loops that acheives what you are trying to do:

  1. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  2.  
  3. Dim TotalFilledRooms As Integer = 0
  4. Dim perc As Double
  5.  
  6. For i As Integer = 1 To 8
  7. Dim response As Boolean = False
  8. Dim filledRooms As Integer
  9.  
  10. While (Not response) Or (filledRooms < 0 Or filledRooms > 30)
  11. response = Integer.TryParse(InputBox("How many rooms on floor " & i.ToString() & " are occupied?", "Enter number of occupied rooms"), filledRooms)
  12. End While
  13.  
  14. perc = Math.Round((filledRooms / 30) * 100, 1)
  15.  
  16. TotalFilledRooms += filledRooms
  17.  
  18. Dim floor As String = "Floor " & i.ToString() & ": " & filledRooms.ToString() & "/30 " & perc.ToString() & "%"
  19. lstFloors.Items.Add(floor)
  20. Next
  21.  
  22. perc = Math.Round((TotalFilledRooms / 240) * 100, 1)
  23. lblOccRooms.Text = TotalFilledRooms.ToString() & "/240"
  24. lblOccPerc.Text = perc.ToString() & "%"
  25.  
  26. End Sub
The for loop ensures that 8 values are requested.
Theres some basic validation in the while loop, if the returned value cannot be parsed as an integer or the integer returned is outside the range 0-30 then the input window will reappear until a valid value is entered.
Please don't take for granted the work that solvers do for you. Take the time to fully understand the code they give you so that you might adapt it to future problems.

"Learning is more than absorbing facts, it is acquiring understanding.” - William Arthur Ward
Reply With Quote Quick reply to this message  
Reply

Message:


Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC