Jump to content
Sign in to follow this  
madmorgan

Lotto Program Maths Problem.

Recommended Posts

madmorgan

hello all,

I need help im making a simple lotto program that also tell you how much each price is as well but my maths is letting me down can you have a look and currect my maths.

in the input box if you put 100 for 100 pounds you can see were my probelm is and i have put in the code the crect answers well i think please have a look.

OOOOO secound of all how can you valadate a input box to just be numbers only please thanks.

thanks all.

program code here.

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 314, 410, 192, 124)
$Label1 = GUICtrlCreateLabel("LOTTO PROGRAM", 72, 24, 155, 24)
GUICtrlSetFont(-1, 12, 800, 4, "MS Sans Serif")

$Group1 = GUICtrlCreateGroup("1st Prize", 8, 72, 89, 209)
$Label3 = GUICtrlCreateLabel("Money Prize", 24, 216, 62, 17)
GUICtrlSetFont(-1, 8, 400, 4, "MS Sans Serif")
$Label6 = GUICtrlCreateLabel("", 32, 136, 39, 17)
$Label9 = GUICtrlCreateLabel("", 32, 232, 44, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)

$Group2 = GUICtrlCreateGroup("2nd Prize", 112, 72, 89, 209)
$Label4 = GUICtrlCreateLabel("Money Prize", 126, 213, 62, 17)
GUICtrlSetFont(-1, 8, 400, 4, "MS Sans Serif")
$Label7 = GUICtrlCreateLabel("", 133, 135, 39, 17)
$Label10 = GUICtrlCreateLabel("", 136, 232, 42, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)

$Group3 = GUICtrlCreateGroup("3rd Prize", 216, 72, 89, 209)
$Label5 = GUICtrlCreateLabel("Money Prize", 228, 212, 62, 17)
GUICtrlSetFont(-1, 8, 400, 4, "MS Sans Serif")
$Label8 = GUICtrlCreateLabel("", 240, 136, 39, 17)
$Label11 = GUICtrlCreateLabel("", 240, 232, 42, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)

$Input1 = GUICtrlCreateInput("number", 96, 328, 121, 21)
$Label2 = GUICtrlCreateLabel("Total Prize Money", 112, 304, 89, 17)
$Button1 = GUICtrlCreateButton("Run Lotto", 120, 360, 75, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg = GUIGetMsg()
        Switch $nMsg
            Case $GUI_EVENT_CLOSE
                Exit
            Case $Button1
                Randomnumber()
                money()
        EndSwitch
WEnd

Func money()
    $AmountPrize = GUICtrlRead($Input1)
    ;First Prize
    $Prize1 = $AmountPrize / 3 + 0.1
    GUICtrlSetData($Label9, $Prize1) ;this based if 100 is entered 100 / 3 + 10% = 36.7

    ;secound Prize
    $Prize2 = $AmountPrize / 3
    GUICtrlSetData($Label11, $Prize2) ;this based if 100 is entered 100 / 3 = 33.3

    ;3rd Prize
    $Prize3 = $AmountPrize / 3 - 0.1
    GUICtrlSetData($Label10, $Prize3) ;this based if 100 is entered 100 / 3 - 10% = 30
EndFunc

Func Randomnumber()
    $number = Random(1, 60,1)
    GUICtrlSetData($Label6, $number)
    $number2 = Random(1,60,1)
    GUICtrlSetData($Label7, $number2)
    $number3 = Random(1,60,1)
    GUICtrlSetData($Label8, $number3)
EndFunc

Share this post


Link to post
Share on other sites
PsaltyDS

Read the section Operators in the help file, specifically the order of operations. Division is done before addition, so:

100 / 3 + 0.1 = (100 / 3) + 0.1 = 33.43 (rounded to two places)

Add the $ES_NUMBER style to the input to accept only numeric characters.

:mellow:


Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law

Share this post


Link to post
Share on other sites
madmorgan

hello guys,

i have tryed the both help but still cant get it right can you show me ith my line of code how to make it work right please. for the maths part.

thanks

Share this post


Link to post
Share on other sites
Tvern

To increase a number by 10% multiply by 1.1:

($AmountPrize / 3)*1.1 = 33.67 ;Rounded

To decrease a number by 10% multiply by 0.9:

($AmountPrize / 3)*0.9 = 30.00

Share this post


Link to post
Share on other sites
madmorgan

ok but now i have it doing 36.666666666666666666666666666 R how can i not just make it show 36.66 im sorry for asking but i have neather done maths in to a program befor.

Share this post


Link to post
Share on other sites
martin

ok but now i have it doing 36.666666666666666666666666666 R how can i not just make it show 36.66 im sorry for asking but i have neather done maths in to a program befor.

You should be able to work something out even if you haven't done it before. The help file is there so it just means you need to know how to use it.

So look in the Contents, expand "Function Reference", expand "Math Management" and look down the list for something that might be useful. I think you'll find you can do it by yourself.


Serial port communications UDF Includes functions for binary transmission and reception.printing UDF Useful for graphs, forms, labels, reports etc.Add User Call Tips to SciTE for functions in UDFs not included with AutoIt and for your own scripts.Functions with parameters in OnEvent mode and for Hot Keys One function replaces GuiSetOnEvent, GuiCtrlSetOnEvent and HotKeySet.UDF IsConnected2 for notification of status of connected state of many urls or IPs, without slowing the script.

Share this post


Link to post
Share on other sites
madmorgan

ok i have looke throw the maths section of the help file and i sill can get the maths to work out right GGGGGGGGGGGGRRRRRRRRRRRRRRRR i hate been crap at maths and i cant get it to display the answer like this with the desimal place been 2 places 36.00

Share this post


Link to post
Share on other sites
dani

You have got to be kidding me. This has nothing to do with you being bad at math. This is just you not wanting to search properly. There is a function called Round for crying out loud. Shame on you.

Edited by dani

Share this post


Link to post
Share on other sites
madmorgan

i just found the round fuction befor you posted you comment shame on me :mellow:

Share this post


Link to post
Share on other sites
madmorgan

HI Guys,

Thanks For Your Help I Have Got It Working Im Sorry To Be Apain In The Butt It Was Me Not Laying The Maths Out Right In The Program.

Thank All

Edited by madmorgan

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×