Click here to Skip to main content
Licence CPOL
First Posted 20 Jul 2007
Views 22,286
Bookmarked 21 times

Calculator

By | 22 Aug 2007 | Article
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)

About the Author

pranav95



India India

Member



Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
 FAQ
    Noise  Layout  Per page   
  Refresh
GeneralMy vote of 5 Pinmemberkunal paliwal21:24 2 Oct '11  
Generalversion 1 Pinmembermark saunders1:55 21 Jul '07  
GeneralRe: version 1 Pinmemberpranav953:15 22 Jul '07  
GeneralRe: version 1 Pinmemberpranav952:01 23 Jul '07  
GeneralRe: version 1 Pinmembermark saunders9:45 23 Jul '07  

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

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

Permalink | Advertise | Privacy | Mobile
Web02 | 2.5.120517.1 | Last Updated 22 Aug 2007
Article Copyright 2007 by pranav95
Everything else Copyright © CodeProject, 1999-2012
Terms of Use
Layout: fixed | fluid