Solved

Vb.net calculation problem.

Posted on 2009-03-31
4
269 Views
Last Modified: 2012-05-06
How am i supposed to set this up? I've tried using what I've got but it won't calculate what I need to properly. Breakdown:
I have a program were I'm supposed to calculate books read and award points
based on a certain amount of books read by the reader. In the place of some numbers I used constants.
1-3 books = 10pts ea.
next 3 books = 15pts ea.
6 or more = 20pts ea.
'Declared Constants
    Const BOOKS_READ1Integer As Integer = 10
    Const BOOKS_READ2Integer As Integer = 15
    Const BOOKS_READ3Integer As Integer = 20
    Const MAX_BOOKS_ALLOWED_READInteger As Integer = 10000
 
    'Declared Variables
    Dim totalPointsDecimal, booksReadInteger, bookPoints, _
    customerCountInteger, numberBooksReadInteger, totalBooksRead, _
    numbooksRead, average, booksRead As Integer
 
 
    Private Function calculatePointsDataType(ByVal bookValue As String) As Integer
        Dim bookPoints As Integer
 
        Try
            Dim numberBooksRead As Integer = Integer.Parse(numBooksReadTextBox.Text)
 
            If numberBooksRead <= 1 And 3 Then
                bookPoints = numberBooksRead * BOOKS_READ1Integer
            ElseIf numberBooksRead < 3 And = 6 Then
                bookPoints = 3 * BOOKS_READ1Integer + numberBooksRead - 3 * BOOKS_READ2Integer
            ElseIf numberBooksRead >= 6 And MAX_BOOKS_ALLOWED_READInteger Then
                bookPoints = (3 * BOOKS_READ2Integer) + (3 * BOOKS_READ2Integer) + (numberBooksRead - 6) * (BOOKS_READ3Integer)
 
            End If
        Catch ex As Exception
        End Try
 
        Return bookPoints
    End Function

Open in new window

0
Comment
Question by:shaunareno
[X]
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
4 Comments
 

Author Comment

by:shaunareno
ID: 24035832
Revised Question:
not the calculation but, the logic is what I'm having trouble with.

0
 
LVL 84

Expert Comment

by:ozo
ID: 24036112
what are you trying to do when you say
  And 3
?
what are you trying to do when you say
And = 6


 numberBooksRead - 3 * BOOKS_READ2Integer
would be interpreted under customary precedence rules as
 numberBooksRead - (3 * BOOKS_READ2Integer)
whereas you probably meant
(numberBooksRead - 3)  * BOOKS_READ2Integer
0
 
LVL 86

Accepted Solution

by:
Mike Tomlinson earned 500 total points
ID: 24036207
It seems like from your line here:

    bookPoints = (3 * BOOKS_READ2Integer) + (3 * BOOKS_READ2Integer) + (numberBooksRead - 6) * (BOOKS_READ3Integer)

That you could instead loop thru and just tally up the points as you go:

    Private Function CalculateBookPoints() As Integer
        Dim points As Integer = 0
        Dim numberBooksRead As Integer = Integer.Parse(numBooksReadTextBox.Text)
        For i As Integer = 1 To numberBooksRead
            If i <= 3 Then
                points = points + BOOKS_READ1Integer
            ElseIf i <= 6 Then
                points = points + BOOKS_READ2Integer
            Else
                points = points + BOOKS_READ3Integer
            End If
        Next
        Return points
    End Function
0

Featured Post

Transaction Monitoring Vs. Real User Monitoring

Synthetic Transaction Monitoring Vs. Real User Monitoring: When To Use Each Approach? In this article, we will discuss two major monitoring approaches: Synthetic Transaction and Real User Monitoring.

Question has a verified solution.

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

Whether you've completed a degree in computer sciences or you're a self-taught programmer, writing your first lines of code in the real world is always a challenge. Here are some of the most common pitfalls for new programmers.
In this post we will learn how to make Android Gesture Tutorial and give different functionality whenever a user Touch or Scroll android screen.
An introduction to basic programming syntax in Java by creating a simple program. Viewers can follow the tutorial as they create their first class in Java. Definitions and explanations about each element are given to help prepare viewers for future …
Starting up a Project

695 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