Problem with calculator script


 
Thread Tools Search this Thread
Homework and Emergencies Homework & Coursework Questions Problem with calculator script
# 8  
Old 12-09-2010
Ok. So u just want to input 2 numbers and want to perform all operations user has asked to. This is also simple. U have the count of arguments. Run a for loop and check whether only 2 arguments are numbers. See below.

Code:
count=0
for arg in `echo "$@"`
do
    echo "$arg" | egrep "^[+-]*[0-9][0-9]*$"
    if [ $? -eq 0 ] ; then
        (( $count += 1 ))
    else
        echo "$arg" | egrep "^[+-][asdm]$"
        if [ $? -gt 0 ] ; then ; display_usage ; exit ; fi
    fi

    if [ $count -gt 2 ] ; then ; display_usage ; exit ; fi
done

This will solve all the problems...Smilie
R0H0N
# 9  
Old 12-09-2010
Quote:
Originally Posted by R0H0N
Ok. So u just want to input 2 numbers and want to perform all operations user has asked to. This is also simple. U have the count of arguments. Run a for loop and check whether only 2 arguments are numbers. See below.

Code:
count=0
for arg in `echo "$@"`
do
    echo "$arg" | egrep "^[+-]*[0-9][0-9]*$"
    if [ $? -eq 0 ] ; then
        (( $count += 1 ))
    else
        echo "$arg" | egrep "^[+-][asdm]$"
        if [ $? -gt 0 ] ; then ; display_usage ; exit ; fi
    fi

    if [ $count -gt 2 ] ; then ; display_usage ; exit ; fi
done

This will solve all the problems...Smilie
That's a really good idea, the logic definitely solves part of my problem, but for some reason I'm getting errors.

Code:
zak 153 % mymath.sh 7 7 -a
7
mymath.sh: line 52: ((: 0 += 1 : attempted assignment to non-variable (error token is "+= 1 ")
7
mymath.sh: line 52: ((: 0 += 1 : attempted assignment to non-variable (error token is "+= 1 ")
-a

# 10  
Old 12-09-2010
Oh sorry. $ should not be there.

Code:
(( count += 1 ))

R0H0N
# 11  
Old 12-09-2010
Quote:
Originally Posted by R0H0N
Oh sorry. $ should not be there.

Code:
(( count += 1 ))

Use the portable POSIX syntax:
Code:
count=$(( $count + 1 ))

# 12  
Old 12-09-2010
Thanks. That takes care of some of it. The other problem is the input order. The getops is fantastic for taking in one argument, but only if they are after a switch.
# 13  
Old 12-09-2010
Quote:
Originally Posted by zkapopou
Thanks. That takes care of some of it. The other problem is the input order. The getops is fantastic for taking in one argument, but only if they are after a switch.

For this, I would suggest u to develop your script in such a way that it accepts options first and than two numbers at last.

For example:

Code:
mymath.sh 7 7 -a        # Invalid
mymath.sh -a -m 7 7   # Valid
mymath.sh -a 7 -m 7 -s   # Invalid

So, build a logic which accepts two numbers followed by all valid options as command line arguments.
R0H0N
# 14  
Old 12-09-2010
Did you ever get options and arguments interspersed properly? If so, how did you go about that?
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Shell Script Calculator

Hello, I have to make a calculator in shell script. But I get this error. Can someone help me please? c.sh: 3: c.sh: i: not found That's my code. ========================================================================== #Calculator i = "yes" while do echo What operation... (2 Replies)
Discussion started by: KJN
2 Replies

2. Shell Programming and Scripting

Pls help with script made a calculator

Hello, I'm in need with a little help for my script please this is the brief i need to complete which I haven't been able to do: On option 7 stop the calculator The calculator will keep running until option 7 is chosen. Any other option than 1-7 will generate an error message. Pls any help... (1 Reply)
Discussion started by: linuxepicuser
1 Replies

3. Shell Programming and Scripting

CSH Calculator Script

Using the C Shell, I'm building a script that will compute simple mathematical computations (addition, subtraction, multiplication, division). The user will enter two integers (operands) on the command line separated by the operation (operator) they wish to perform. Example of the command line... (7 Replies)
Discussion started by: ksmarine1980
7 Replies

4. Homework & Coursework Questions

Simple Calculator

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known/data: Script a simple calculator. In the command line enter the script file /home/etc/mycalc or /home/etc/mycalc 1 +... (6 Replies)
Discussion started by: herb bertz
6 Replies

5. Shell Programming and Scripting

chmod calculator script

so just spit ballin here, i was wondering if anybody knew how to make a chmod calculator script. basically go to this website http://mistupid.com/internet/chmod.htm i would like something like this that i can use in a terminal tho. so like i run the scrip and it ask for owner what... (1 Reply)
Discussion started by: hookitup
1 Replies

6. Shell Programming and Scripting

Help with calculator code

Hi Guys, I found this code in net.. it is working fine.. But can anybody explain me the sed statement used in the code.. echo "Enter the expression:\c" read express eval echo "$express"|sed 's/^/'$precision' \ /'|bc -l|\ sed -n '1,${ /syntax/!{ } ... (2 Replies)
Discussion started by: mac4rfree
2 Replies

7. UNIX for Dummies Questions & Answers

calculator

hi, im new to the unix system and scripting and was wondering if anyone could help me with this problem iv been havin... i want the system to: 1. ask me for a number 2. ask me for a command to use on that number (* + - /) 3. ask me for another number 4. then ask me for another command, if the... (2 Replies)
Discussion started by: jdougy
2 Replies

8. Shell Programming and Scripting

Calculator

I am pretty new to the Unix word, and have created a working calculator script. I have one problem. It doesn't use any decimals, it rounds off to the nearest whole number. 1 #!/bin/ksh 2 while true; do 3 echo -n "Enter the first integer: "; read IN1 4 test... (2 Replies)
Discussion started by: ironhead3fan
2 Replies

9. Shell Programming and Scripting

calculator program..

Hey can anyone tell me the korn script code to implement an interactive integer calculator using the shell's built in arithemetic expression evaluation (2 Replies)
Discussion started by: sahithi_khushi
2 Replies
Login or Register to Ask a Question