65.9K
CodeProject is changing. Read more.
Home

Calculator

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.47/5 (17 votes)

Jul 21, 2007

CPOL

1 min read

viewsIcon

44142

downloadIcon

1896

New functions added to the calculator , Now currency converter included

Introduction

I have been developing programs since 05

I am 11 yrs old

Calculator _10_DEMO_23-7-07_updated_.zip file includes a currency converter which uses google search to convert currencies

So donot mind my wrong english



I haven't explained the code



So try to develop a program like this and mail to r.anshul@gmail.com

Background and Features

1.Date and time in Menubar
2.Unit Converter ( In View --> Converter)
3.Temperature Converter ( In View --> Temperature Converter)
4.Area and Volume Finder( In View Menu)
5.Fraction To Decimal and Fraction Simplifier ( In View --> Fractions)
6.HCF or GCD Finder
7.LCM Finder
8.Operation Shower
9.Last Entered Number
10.PI Insertion

Please mail me if there are any other suggestions to improve it
Using the code


Using the code

As I have already told in the intro , Try to program by yourselves . If you want the code , mail me . r.anshul@gmail.com
// 
 (rad * math.pi) / 180
// 

this is the rad to deg conversion

Fraction codes

They are well tested

Function dec2frac(ByVal dblDecimal As Double) As String

  Dim intNumerator, intDenominator, intNegative As Integer

        Dim dblFraction, dblAccuracy As Double

        Dim txtDecimal As String


        dblAccuracy = 0.1                                       ' Set the initial Accuracy level.

        txtDecimal = dblDecimal.ToString                        ' Get a  string representation of the input number.



        For i As Integer = 0 To (txtDecimal.Length - 1)                                 ' Check each character to see if it's a decimal point...

            If txtDecimal.Substring(i, 1) = "." Then                    ' if it is then we get the number of digits behind the decimal

                dblAccuracy = 1 / 10 ^ (txtDecimal.Length - i)    '   assign the new accuracy level, and

                Exit For                                            '   exit the for loop.

            End If

        Next

        intNumerator = 0                                ' Set the initial numerator value to 0.

        intDenominator = 1                              ' Set the initial denominator value to 1.

        intNegative = 1                                 ' Set the negative value flag to positive.

        If dblDecimal < 0 Then

            intNegative = -1 ' If the desired decimal value is negative,

        End If


        dblFraction = 0                                 ' Set the fraction value to be 0/1.



        Do While Math.Abs(dblFraction - dblDecimal) > dblAccuracy   ' As long as we're still outside the

            '   desired accuracy, then...

            If Math.Abs(dblFraction) > Math.Abs(dblDecimal) Then      ' If our fraction is too big,

                intDenominator += 1         '   increase the denominator

            Else                                            ' Otherwise

                intNumerator += intNegative   '   increase the numerator.

            End If



            dblFraction = intNumerator / intDenominator     ' Set the new value of the fraction.



        Loop



        Return intNumerator.ToString & "/" & intDenominator.ToString ' Display the numerator and denominator

    End Function
    Function num(ByVal dblDecimal As Double) As String

        Dim intNumerator, intDenominator, intNegative As Integer

        Dim dblFraction, dblAccuracy As Double

        Dim txtDecimal As String


        dblAccuracy = 0.1                                       ' Set the initial Accuracy level.

        txtDecimal = dblDecimal.ToString                        ' Get a  string representation of the input number.



        For i As Integer = 0 To (txtDecimal.Length - 1)                                 ' Check each character to see if it's a decimal point...

            If txtDecimal.Substring(i, 1) = "." Then                    ' if it is then we get the number of digits behind the decimal

                dblAccuracy = 1 / 10 ^ (txtDecimal.Length - i)    '   assign the new accuracy level, and

                Exit For                                            '   exit the for loop.

            End If

        Next

        intNumerator = 0                                ' Set the initial numerator value to 0.

        intDenominator = 1                              ' Set the initial denominator value to 1.

        intNegative = 1                                 ' Set the negative value flag to positive.

        If dblDecimal < 0 Then

            intNegative = -1 ' If the desired decimal value is negative,

        End If


        dblFraction = 0                                 ' Set the fraction value to be 0/1.



        Do While Math.Abs(dblFraction - dblDecimal) > dblAccuracy   ' As long as we're still outside the

            '   desired accuracy, then...

            If Math.Abs(dblFraction) > Math.Abs(dblDecimal) Then      ' If our fraction is too big,

                intDenominator += 1         '   increase the denominator

            Else                                            ' Otherwise

                intNumerator += intNegative   '   increase the numerator.

            End If



            dblFraction = intNumerator / intDenominator     ' Set the new value of the fraction.



        Loop



        Return intNumerator.ToString

    End Function
    Function den(ByVal dblDecimal As Double) As String

        Dim intNumerator, intDenominator, intNegative As Integer

        Dim dblFraction, dblAccuracy As Double

        Dim txtDecimal As String


        dblAccuracy = 0.1                                       ' Set the initial Accuracy level.

        txtDecimal = dblDecimal.ToString                        ' Get a  string representation of the input number.



        For i As Integer = 0 To (txtDecimal.Length - 1)                                 ' Check each character to see if it's a decimal point...

            If txtDecimal.Substring(i, 1) = "." Then                    ' if it is then we get the number of digits behind the decimal

                dblAccuracy = 1 / 10 ^ (txtDecimal.Length - i)    '   assign the new accuracy level, and

                Exit For                                            '   exit the for loop.

            End If

        Next

        intNumerator = 0                                ' Set the initial numerator value to 0.

        intDenominator = 1                              ' Set the initial denominator value to 1.

        intNegative = 1                                 ' Set the negative value flag to positive.

        If dblDecimal < 0 Then

            intNegative = -1 ' If the desired decimal value is negative,

        End If


        dblFraction = 0                                 ' Set the fraction value to be 0/1.



        Do While Math.Abs(dblFraction - dblDecimal) > dblAccuracy   ' As long as we're still outside the

            '   desired accuracy, then...

            If Math.Abs(dblFraction) > Math.Abs(dblDecimal) Then      ' If our fraction is too big,

                intDenominator += 1         '   increase the denominator

            Else                                            ' Otherwise

                intNumerator += intNegative   '   increase the numerator.

            End If



            dblFraction = intNumerator / intDenominator     ' Set the new value of the fraction.



        Loop



        Return intDenominator.ToString

    End Function





Points of Interest

CONVERSIONS , AREAS , VOLUMES etc

History

Calculator 1.0