Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win


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
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions

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

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

How to remove superseded packages in windows w60 or w61 installation media (.wim) or online system to prevent unnecessary space. w60 means Windows Vista or Windows Server 2008. w61 means Windows 7 or Windows Server 2008 R2. There are various …
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
This tutorial explains how to use the VisualVM tool for the Java platform application. This video goes into detail on the Threads, Sampler, and Profiler tabs.
The goal of the video will be to teach the user the difference and consequence of passing data by value vs passing data by reference in C++. An example of passing data by value as well as an example of passing data by reference will be be given. Bot…
Suggested Courses

618 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