Click here to Skip to main content
15,868,016 members
Articles / Programming Languages / Visual Basic
Article

Calculator

Rate me:
Please Sign up or sign in to vote.
3.47/5 (17 votes)
22 Aug 2007CPOL1 min read 43.2K   1.9K   22   6
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

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Student
India India
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
GeneralMy vote of 3 Pin
Member 1000433528-Apr-13 0:25
professionalMember 1000433528-Apr-13 0:25 
GeneralMy vote of 5 Pin
kunal paliwal2-Oct-11 21:24
kunal paliwal2-Oct-11 21:24 
Generalversion 1 Pin
mark saunders21-Jul-07 1:55
mark saunders21-Jul-07 1:55 
GeneralRe: version 1 Pin
Anshul R22-Jul-07 3:15
Anshul R22-Jul-07 3:15 
GeneralRe: version 1 Pin
Anshul R23-Jul-07 2:01
Anshul R23-Jul-07 2:01 
GeneralRe: version 1 Pin
mark saunders23-Jul-07 9:45
mark saunders23-Jul-07 9:45 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.