post
poster: Comrade-Sergei
description: VB Change Calculator
language: Visual Basic
[download]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
' Project name:         Change Project
' Project purpose:      The project calculates the change based on the amount owed
'                       and the amount paid. It also breaks up the change into dollars,
'                       quarters, dimes, nickels, and pennies.
' Created/revised by:   Andrew Damin on 10/1/07
Option Explicit On
Option Strict On

Imports system.globalization

Public Class MainForm

    Private Sub exitButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles exitButton.Click
        Me.Close()
    End Sub

    Private Sub MainForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

    Private Sub clearButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles clearButton.Click
        owedTextBox.Clear()
        paidTextBox.Clear()
        changeLabel.Text = ""
        dollarLabel.Text = ""
        quarterLabel.Text = ""
        dimeLabel.Text = ""
        nickelLabel.Text = ""
        pennyLabel.Text = ""
        owedTextBox.Focus()
    End Sub

    Private Sub calcButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles calcButton.Click
        'declares varibles
        Dim owed As Double
        Dim paid As Double
        Dim change As Double
        Dim temp As Double
        Dim dollars As Double
        Dim quarters As Double
        Dim dimes As Integer
        Dim nickels As Integer
        Dim pennies As Integer
        Dim isConverted As Boolean

        'convert input to numbers
        isConverted = Double.TryParse(owedTextBox.Text, NumberStyles.Currency, NumberFormatInfo.CurrentInfo, paid)
        isConverted = Double.TryParse(paidTextBox.Text, NumberStyles.Currency, NumberFormatInfo.CurrentInfo, paid)

        'calculate the change
        change = paid - owed
        temp = change
        dollars = Convert.ToInt32(temp * 100.0) \ 100
        temp = temp - Convert.ToDouble(dollars)
        quarters = Convert.ToInt32(temp * 100.0) \ 25
        temp = temp - Convert.ToDouble(quarters) * 0.25
        dimes = Convert.ToInt32(temp * 100.0) \ 10
        temp = temp - Convert.ToDouble(dimes) * 0.1
        nickels = Convert.ToInt32(temp * 100.0) \ 5
        temp = Convert.ToDouble(nickels) * 0.05
        pennies = Convert.ToInt32(temp * 100) \ 100

        'displays the change
        changeLabel.Text = Convert.ToString(change)
        dollarLabel.Text = Convert.ToString(dollars)
        quarterLabel.Text = Convert.ToString(quarters)
        dimeLabel.Text = Convert.ToString(dimes)
        nickelLabel.Text = Convert.ToString(nickels)
        pennyLabel.Text = Convert.ToString(pennies)
    End Sub
End Class