Where to being Comparing numbers?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Where to being Comparing numbers?
# 1  
Old 03-13-2010
Where to being Comparing numbers?

Hi. I do not know how to compare numbers and need help. In my script I have to figure the MAX, MIN, & Avg. Sales amounts.
Please help me.
In the code, "transaction" is a counter.
Code:
 
#!/bin/bash
        clear
        transaction=0
        sales=0
        total=0
        while test $sales
        do
                echo -e "Enter sales price: \c"
                read sales
                let transaction=$transaction+1
                let total=total+sales
        done
        echo "Number of Transactions :" $transaction
        echo "Total Sales:" $total
                if test $total -lt 100
                then
                echo " Sorry, we do not take credit cards for sales less than $100.  "
                fi

Thanks
# 2  
Old 03-14-2010
I didn't have bash in my system but i hope this might do what u were trying to do...
Code:
#!/bin/sh
        clear
        total=0
        transaction=0
        ans="Y"
        while [[ $ans = "Y" ]]
        do
                echo  "Enter sales price: \c"
                read sales
                transaction=`expr $transaction + 1`
                total=`expr $total + $sales`
                echo "Do you want to add transaction(Y/N): \c"
                read ans
        done
        echo "Number of Transactions :" $transaction
        echo "Total Sales:" $total
                if [[ $total -lt 100 ]]
                then
                echo " Sorry, we do not take credit cards for sales less than 100.  "
                fi

# 3  
Old 03-14-2010
the `expr` statement is a bit obsolete, and following statements can normally be written
Code:
# transaction=`expr $transaction + 1`
((transaction++))
# total=`expr $total + $sales`
((total+=sales))

there is no need of bouble brackets there
# if [[ $total -lt 100 ]]
if [ $total -lt 100 ]
# 4  
Old 03-14-2010
Where to Begin Comparing Numbers?

Thank you Malcomex999 (smile) and Frans.
But I don't see how to find the Max or Min in your examples. Did I miss something? Smilie
Many, many thanks.
Ccccc
# 5  
Old 03-14-2010
Something like this:
Code:
#/bin/bash
clear
transaction=0
sales=0
total=0
MIN=0
MAX=0
while true
do
    echo -e "Enter sales price: \c"
    read sales
    $((sales)) || break # if sales = 0 then finish
    [ $sales -gt $MAX ] && MAX=$sales
    [ $transaction -eq 0 ] || [ $sales -lt $MIN ] && MIN=$sales
    $((transaction++))
    $((total+=sales))
done
echo "Number of Transactions : $transaction"
echo "Total Sales : $total"
echo "Max amount : $MAX"
echo "Min amount : $MIN"
echo "Average : $((total/transaction))"
[ $total -lt 100 ] && echo " Sorry, we do not take credit cards for sales less than $100."

# 6  
Old 03-19-2010
Need help with error message.

Hi.
I've tried to figure out this error message but no luck. This code was sent in by Frans.
When I enter the Sales Price I get this msg:
"./ss: line 11: 2: command not found"
Transactions :
Total Sales :
max : 0
min : 0
./ss: line 21: total/transaction: division by 0 (error token is "transaction")
./ss: line 22: [: -lt unary oprator expected

I don't understand why it is complaining about "command not found".

Code:
clear
  trans=0
   sales=0
   MIN=0
   MAX=0
   while true
   do
   echo -e "Enter sales price: \c"
  read sales
line 11   $((sales)) || break # if sales = 0 then finish
  [ $sales -gt $MAX ] && MAX=$sales
  [ $transaction -eq 0 ] || [ $sales -lt $MIN ] && MIN=$sales
  $((transaction++))
  $((total+=sales))
  done
  echo "Transactions : $transaction"
  echo "Total Sales : $total"
  echo "max : $MAX"
  echo "min : $MIN"
  echo "Avg : $((total/transaction))"
  [ $total -lt 100 ] && echo "sorry no credit"

Thanks for your help.
Ccccc
# 7  
Old 03-19-2010
try to replace
Code:
$((sales)) || break

by
Code:
[ "$sales" -ne 0 ] || break

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Comparing multiple variables containing numbers

a=1 456 b=4928 c=23 d=456 I want to compare four variables to get the name of the variable having the highest number (2 Replies)
Discussion started by: proactiveaditya
2 Replies

2. Shell Programming and Scripting

Comparing decimal numbers between 0 and 1

For numbers between 0 and 1 the below logic is not working. Output of above shall be "correct" but its echoing "incorrect".Kindly suggest a=.1 if then echo correct else echo incorrect fi Video tutorial on how to use code tags in The UNIX and Linux Forums. (3 Replies)
Discussion started by: itsvikas
3 Replies

3. Shell Programming and Scripting

Comparing Negative Numbers with If/Else

ValA=-29344 if ; then echo "NEGATIVE" else echo "POSITIVE" fi Can someone please tell me how else they would go about doing the above? When i do it, i get errors such as: (10 Replies)
Discussion started by: SkySmart
10 Replies

4. Shell Programming and Scripting

Comparing two numbers with decimal point

How to compare two numbers with decimal points ? Is there a way in bash to do this? (33 Replies)
Discussion started by: kinny
33 Replies

5. Shell Programming and Scripting

Comparing Decimal Numbers

Im trying to compare two numbers with decimals but its not working as expected. a=1 b=1.1 if then echo "equal" fi When I do this it says that the numbers are equal. Ultimately Im using -le and -ge in the if statements but I tested with -eq for simplicity. Any way to make this... (3 Replies)
Discussion started by: Grizzly
3 Replies

6. Shell Programming and Scripting

comparing with numbers.

How to compare a variable with a value like 00:00:10 ? Thanks (4 Replies)
Discussion started by: nagendramv
4 Replies

7. UNIX for Dummies Questions & Answers

Comparing Version Numbers

Hi There! Apologies if this has been asked previously but I couldn't find the answer I was hoping for. Basically, all I want to do is compare the OS X version against the version that I require in my script. So I'm retrieving the OS version using defaults read, but how can I compare this... (10 Replies)
Discussion started by: davewg
10 Replies

8. UNIX for Dummies Questions & Answers

comparing numbers in a file

Hello, I'm searching for a quick method to read numeric values from a file or a defined variable and identifying the largest number. For instance if the following numbers are in a file or defined to a variable: 09192007 09202007 09182007 09172007 09162007 What "short" method could be used to... (7 Replies)
Discussion started by: dusk2dawn
7 Replies

9. Shell Programming and Scripting

comparing two numbers with the decimals

Can someone tell me how do I comapre two numbers with the decimals in UNIX shell scripting I understand "-gt" can be used only for integers Regards, Giri (4 Replies)
Discussion started by: chittari
4 Replies

10. UNIX for Dummies Questions & Answers

Comparing two numbers

Hello, I kinda newbie in unix so I would like so help.I know that there is a command that compares two integer numbers test (eg. #$1=0 ).I would like to know if it is possible to compare any number with another (eg. 2.3=0 or 3.7!=0 4.5>2.2). Thank you in advance. (1 Reply)
Discussion started by: TabloMaxos
1 Replies
Login or Register to Ask a Question