I need assistance formatting the rest of a Visual Basic project...

Posted on 2011-03-15
Medium Priority
Last Modified: 2012-05-11
My instructor has given us a practice assignment for no grade in order to let us to know what to expect for a future exam, it comes from our textbook "Clearly Visual Basic" pg. 430. A lot of the coding I know and I've attached what I have, but I'd like to see an expert code it so I can truly grasp what to expect from my exam. At least I would like to get some help with the code.

Here's the question:

JM Sales employs eight salespeople. The sales manager wants an application that allows him to enter a bonus rate. The application should use the rate, along with the eight sales amounts stored in an array, to calculate each salesperson's bonus amount. It should also calculate the total bonus paid to the salespeople. The application should display each salesperson's number (1 through 8) and bonus amount, as well as the total bonus paid, in the interface.

Code the application. Use a one-dimensional array whose elements are initialized to the following sales amounts: 2400, 1500, 1600, 2790, 1000, 6300, 1300, and 2700. The txtRate control should accept only numbers, the period, and the Backspace key. The contents of the txtReport control should be cleared when a change is made to the contents of the txtRate control.

Basically, the user types a Bonus rate, clicks create report and the output is a list of Bonuses for each salesperson, 1-8, and the total amount of bonus paid.

I have attached a visual aid of what the interface should look like (which I have no problem creating -- it's the overall code I'd like assistance with), and I wrote my notes as to what I'd name each control. Note the txtReport control is a scrollbox, which is only probably pertinent to my design, but still, I thought you may want to know.

Here is what I have so far:
Public Class frmMain
    Private Sub btnExit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnExit.Click
    End Sub

    Private Sub btnCreate_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnCreate.Click

        ' Declare array

        Dim intSalesAmount() As Integer = {2400, 1500, 1600, 2790, 1000, 6300, 1300, 2700}
        Dim dblTotalBonusPaid As Double = 0

        ' Clear form if not already empty

        txtReport.Text = String.Empty

        ' Prompt if empty txtRate field otherwise get rate and calculate bonus

        If txtRate.Text.Trim() = "" Then
            MessageBox.Show("Please enter rate")
                Dim dblRate As Double
                Double.TryParse(txtRate.Text, dblRate)

                txtReport.Text &= vbTab & "Bonus" & vbNewLine
                For index As Integer = 0 To intSalesAmount.Length - 1
                    dblTotalBonusPaid += (dblRate * intSalesAmount(index))
                    txtReport.Text &= (index + 1) & vbTab & (dblRate * intSalesAmount(index)) & vbNewLine

                txtReport.Text &= vbNewLine & "Total bonus paid: " & String.Format("{0:c}", dblTotalBonusPaid) & vbNewLine

            Catch ex As Exception
                MessageBox.Show("Only Numbers are allowed")
            End Try
        End If
    End Sub
End Class

Open in new window

A couple of problems: I am required to add an additional line of output within the scrollbox that has my class name below "Total Bonus Paid:". And I need to format the list into decimals like in the image. Help would be appreciated.
Question by:pancakesleep

Expert Comment

by:Khalid Mehmood Awan
ID: 35144601
This is your assignment, if you seek help from others, Who will be benefited in longer run ? :-)

wait for answers here if you did not get my point.

Author Comment

ID: 35144617
Well as you can see, I basically have the whole thing coded, so I'm not asking for someone to DO my assignment. I'm asking for help on how to format a couple aspects of it.
LVL 86

Accepted Solution

Mike Tomlinson earned 2000 total points
ID: 35144751
Try something like this out:
Private Sub btnCreate_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnCreate.Click
        ' Declare array
        Dim intSalesAmount() As Integer = {2400, 1500, 1600, 2790, 1000, 6300, 1300, 2700}

        Dim dblRate As Double
        If Double.TryParse(txtRate.Text, dblRate) Then
            Dim bonus As Decimal
            Dim dblTotalBonusPaid As Double = 0
            Dim sb As New System.Text.StringBuilder
            For index As Integer = 0 To intSalesAmount.Length - 1
                bonus = dblRate * intSalesAmount(index)
                sb.AppendLine((index + 1).ToString.PadRight(5) & bonus.ToString("c").PadLeft(10))
                dblTotalBonusPaid += bonus
            sb.AppendLine("Total bonus paid: " & dblTotalBonusPaid.ToString("c"))
            sb.AppendLine("Your Class Name Here")
            txtReport.Text = sb.ToString
            MessageBox.Show("Please enter a valid bonus rate.")
        End If
    End Sub

Open in new window

LVL 53

Expert Comment

ID: 35735830
This question has been classified as abandoned and is closed as part of the Cleanup Program. See the recommendation for more details.

Featured Post

Vote for the Most Valuable Expert

It’s time to recognize experts that go above and beyond with helpful solutions and engagement on site. Choose from the top experts in the Hall of Fame or on the right rail of your favorite topic page. Look for the blue “Nominate” button on their profile to vote.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Whether you’re a college noob or a soon-to-be pro, these tips are sure to help you in your journey to becoming a programming ninja and stand out from the crowd.
Article by: evilrix
Looking for a way to avoid searching through large data sets for data that doesn't exist? A Bloom Filter might be what you need. This data structure is a probabilistic filter that allows you to avoid unnecessary searches when you know the data defin…
The viewer will learn additional member functions of the vector class. Specifically, the capacity and swap member functions will be introduced.
In a recent question (https://www.experts-exchange.com/questions/29004105/Run-AutoHotkey-script-directly-from-Notepad.html) here at Experts Exchange, a member asked how to run an AutoHotkey script (.AHK) directly from Notepad++ (aka NPP). This video…
Suggested Courses
Course of the Month16 days, 15 hours left to enroll

864 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question