AutoHotkey Community

It is currently May 24th, 2012, 2:24 pm

All times are UTC [ DST ]




Post new topic Reply to topic  [ 2 posts ] 
Author Message
PostPosted: September 22nd, 2010, 1:04 am 
Offline

Joined: August 27th, 2009, 1:36 pm
Posts: 296
I made this a while back ago to help with some basic math problems when I was taking Pre-Algebra when starting college. So.. I thought I might share it in case someone found it handy.

I plan to update it sometime to allow you to take the answer you get from some of the problems and use it on another, also I may add more complex mathematical problems later.

What it can do:

Find the least common denominator between two numbers

Multiply two numbers

Divide two numbers

Add two numbers

Subtract two numbers

Numerically order a list of numbers split with a comma


Well, here is the code:

Code:
`::
Menu, MathMenu, Add, &LCD,LCD
Menu, MathMenu, Add, &Multiply, Multiply
Menu, MathMenu, Add, &Divide, Divide
Menu, MathMenu, Add, &Addition, Addition
Menu, MathMenu, Add, &Subtraction, Subtraction
Menu, MathMenu, Add, &Numerical Order, NumericalOrder
Menu, MenuBar, Add, &Math, :MathMenu
Gui, Add, Text, x80 y40, Created by: DaMeiN
Gui, Menu, MenuBar
Gui, Show, h100 w260
Return


LCD:
Gui, Submit
Gui, Destroy
Menu, MathMenu, Add, &LCD,LCD
Menu, MathMenu, Add, &Multiply, Multiply
Menu, MathMenu, Add, &Divide, Divide
Menu, MathMenu, Add, &Addition, Addition
Menu, MathMenu, Add, &Subtraction, Subtraction
Menu, MathMenu, Add, &Numerical Order, NumericalOrder
Menu, MenuBar, Add, &Math, :MathMenu
Gui, Add, Text, x60 y0, Least Common Denominator
Gui, Add, Edit, r1 w80 x38 y20 vLCDNumber1,
Gui, Add, Edit, r1 w80 x140 y20 vLCDNumber2,
Gui, Add, Text, x110 y50, The LCD of %LCDNumber1% && %LCDNumber2% is:
Gui,Add, Edit, r1 x70, %Answer%
Gui, Add, Button, default x110 gFindLCD, Submit
Gui, Menu, MenuBar
Gui, Show, h140 w260
Return

FindLCD:
Gui, Submit
Gui, Destroy
Answer = % LCM(LCDNumber1, LCDNumber2)
GoSub, LCD
Return

Multiply:
Gui, Submit
Gui, Destroy
Menu, MathMenu, Add, &LCD,LCD
Menu, MathMenu, Add, &Multiply, Multiply
Menu, MathMenu, Add, &Divide, Divide
Menu, MathMenu, Add, &Addition, Addition
Menu, MathMenu, Add, &Subtraction, Subtraction
Menu, MathMenu, Add, &Numerical Order, NumericalOrder
Menu, MenuBar, Add, &Math, :MathMenu
Gui, Add, Text, x92 y0, Multiplication
Gui, Add, Edit, r1 w80 x38 y20 vMultiplyNumber1,
Gui, Add, Edit, r1 w80 x140 y20 vMultiplyNumber2,
Gui, Add, Text, x110 y50, %MultiplyNumber1% * %MultiplyNumber2% is:
Gui,Add, Edit, r1 x120, %Answer%
Gui, Add, Button, default x110 gFindMultiplication, Submit
Gui, Menu, MenuBar
Gui, Show, h140 w260
Return

FindMultiplication:
Gui, Submit
Gui, Destroy
EnvMult, MultiplyNumber1, MultiplyNumber2
Answer = %MultiplyNumber1%
GoSub, Multiply
Return

Divide:
Gui, Submit
Gui, Destroy
Menu, MathMenu, Add, &LCD,LCD
Menu, MathMenu, Add, &Multiply, Multiply
Menu, MathMenu, Add, &Divide, Divide
Menu, MathMenu, Add, &Addition, Addition
Menu, MathMenu, Add, &Subtraction, Subtraction
Menu, MathMenu, Add, &Numerical Order, NumericalOrder
Menu, MenuBar, Add, &Math, :MathMenu
Gui, Add, Text, x105 y0, Division
Gui, Add, Edit, r1 w80 x38 y20 vDivideNumber1,
Gui, Add, Edit, r1 w80 x140 y20 vDivideNumber2,
Gui, Add, Text, x100 y50, %DivideNumber1% / %DivideNumber2% is:
Gui,Add, Edit, r1 x115, %Answer%
Gui, Add, Button, default x110 gFindDivision, Submit
Gui, Menu, MenuBar
Gui, Show, h140 w260
Return

FindDivision:
Gui, Submit
Gui, Destroy
EnvDiv, DivideNumber1, DivideNumber2
Answer = %DivideNumber1%
GoSub, Divide
Return

Subtraction:
Gui, Submit
Gui, Destroy
Menu, MathMenu, Add, &LCD,LCD
Menu, MathMenu, Add, &Multiply, Multiply
Menu, MathMenu, Add, &Divide, Divide
Menu, MathMenu, Add, &Addition, Addition
Menu, MathMenu, Add, &Subtraction, Subtraction
Menu, MathMenu, Add, &Numerical Order, NumericalOrder
Menu, MenuBar, Add, &Math, :MathMenu
Gui, Add, Text, x100 y0, Subtraction
Gui, Add, Edit, r1 w80 x38 y20 vSubtractNumber1,
Gui, Add, Edit, r1 w80 x140 y20 vSubtractNumber2,
Gui, Add, Text, x100 y50, %SubtractNumber1% - %SubtractNumber2% is:
Gui,Add, Edit, r1 x115, %Answer%
Gui, Add, Button, default x110 gFindSubtraction, Submit
Gui, Menu, MenuBar
Gui, Show, h140 w260
Return

FindSubtraction:
Gui, Submit
Gui, Destroy
EnvSub, SubtractNumber1, SubtractNumber2
Answer = %SubtractNumber1%
GoSub, Subtraction
Return

Addition:
Gui, Submit
Gui, Destroy
Menu, MathMenu, Add, &LCD,LCD
Menu, MathMenu, Add, &Multiply, Multiply
Menu, MathMenu, Add, &Divide, Divide
Menu, MathMenu, Add, &Addition, Addition
Menu, MathMenu, Add, &Subtraction, Subtraction
Menu, MathMenu, Add, &Numerical Order, NumericalOrder
Menu, MenuBar, Add, &Math, :MathMenu
Gui, Add, Text, x110 y0, Addition
Gui, Add, Edit, r1 w80 x38 y20 vAddNumber1,
Gui, Add, Edit, r1 w80 x140 y20 vAddNumber2,
Gui, Add, Text, x100 y50, %AddNumber1% + %AddNumber2% is:
Gui,Add, Edit, r1 x115, %Answer%
Gui, Add, Button, default x110 gFindAddition, Submit
Gui, Menu, MenuBar
Gui, Show, h140 w260
Return

FindAddition:
Gui, Submit
Gui, Destroy
EnvAdd, AddNumber1, AddNumber2
Answer = %AddNumber1%
GoSub, Addition
Return

NumericalOrder:
Gui, Submit
Gui, Destroy
Menu, MathMenu, Add, &LCD,LCD
Menu, MathMenu, Add, &Multiply, Multiply
Menu, MathMenu, Add, &Divide, Divide
Menu, MathMenu, Add, &Addition, Addition
Menu, MathMenu, Add, &Subtraction, Subtraction
Menu, MathMenu, Add, &Numerical Order, NumericalOrder
Menu, MenuBar, Add, &Math, :MathMenu
Gui, Add, Text, x80 y0, Numerical Order
Gui, Add, Edit, r1 w80 x80 y20 vOrderNumbers, 
Gui, Add, Text, x100 y50, Answer:
Gui,Add, Edit, r1 x60, %Answer%
Gui, Add, Button, default x110 gFindNumericalOrder, Submit
Gui, Menu, MenuBar
Gui, Show, h140 w260
Return

FindNumericalOrder:
Gui, Submit
Gui, Destroy
Sort OrderNumbers, N D,
Answer = %OrderNumbers%
GoSub, NumericalOrder
Return

LCM(a, b) {
    Return Abs(a * b) // GCD(a, b)
}

GCD(a, b) {
    If Not b
        Return a
    Else Return GCD(b, a - b * Floor(a / b))
}

GuiClose:
ExitApp


Let me know what you think and any suggestions on what to add


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: September 22nd, 2010, 2:00 pm 
Offline

Joined: August 27th, 2009, 1:36 pm
Posts: 296
Updated the code:

I made it so that when you get the answer for a problem and switch to a different function the answer from the previous equation comes up as well.


Report this post
Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 2 posts ] 

All times are UTC [ DST ]


Who is online

Users browsing this forum: Bing [Bot], jsquard, maraskan_user, Pulover, RaptorX and 21 guests


You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Powered by phpBB® Forum Software © phpBB Group