Simple Calculator

Login or Register for Dates, Times and to Reply

 
Thread Tools Search this Thread
Homework and Emergencies Homework & Coursework Questions Simple Calculator
# 1  
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 + 1 . My script file should identify if the data needed to do the calculating is present (mycalc 1 + 1)
or if it needs to ask for input (mycalc). I have two script files that will do the calculations either way but I need to combine them into one file. Also can anyone tell me how to automaticly get line numbers put in the script so when an error comes up it is easy to find the line without counting the lines?
Smilie
2. Relevant commands, code, scripts, algorithms:
if, then, else, elif, test,fi

3. The attempts at a solution (include all code and scripts):
Code:
#!/bin/bash
if [ $2 = "x" -o $2 = "X" ]
    then 
        let "anwser = $1 * $3"
        echo $1 x $2 $anwser
  else
        let "anwser = $1 $2 $3"
        echo $1 $2 $3 = $anwser
fi

exit
this works if the data is supplied at the command prompt.
Code:
#!/bin/bash
if test -z $3
   then
         echo "Enter first number: "
         read first
         echo "Enter second number"
         read second
         echo "Enter function (-+/x): "
         read function
fi
if [ $fdunction = "X" -o $function = "X" ]
   then
         let "anwser = $1 * $3"
         echo $1 x $3 = $anwser
   else
         let "anwser = $1 $2 $3"
         echo $1 $2 $3 = $anwser
fi
exit

this works if data is not supplied at command prompt.
I haven't to identify which script to use when mycalc or mycalc 1 + 1 is entered. I've tried different combinations of the if, then, else, ifel with test but keep getting error.
Smilie
4. Complete Name of School (University), City (State), Country, Name of Professor, and Course Number (Link to Course):
Owens Community College, Toledo, Ohio, USA, Thomas McLeary, EET 208

Note: Without school/professor/course information, you will be banned if you post here! You must complete the entire template (not just parts of it).

Last edited by Corona688; 03-22-2013 at 02:34 PM..
# 2  
Maybe you could start off by using code tags.

And what about indenting the code and using spacing. It will save you a lot of time in the long run. Probably a better grade too! Right now the code seems to all just glom together into an amorphous mass.
# 3  
Being that I am just learing I am using what I am comfertable that works. I wrote the code for the thread trying to consreve space in the thread. In my script I have better spacing
# 4  
My first advice would be to concentrate. Your sloppy typing - no matter if English is your first language or not - in the template does not persuade me (at least) that you are really interested in what you do. And one of the main rules in computing is: garbage in, garbage out.
Having said that, let me comment on your code:
You have two code snippets of which a large part is nearly identical. That's good. Make that part one - the central - block of your program, and massage the input variables, be they command line parameters to the script or interactively entered on the keyboard, so they fit the needs of your main block. Input validation would be part of that as well.
You have a "first" variable, and you have the command line parameter $1. Any idea about how to transform or combine them into one input to the main block?
And then, wouldn't it be nice to get an - optimally correct - result from your calculator? I can see that calculation only in half of your equations. Reconsider.

For your line numbers, try cat -n
# 5  
This is my first Unix class and I am following the parameters given by the instructor for this exercise. He suggested writing two different script and making them work before joining them to work as one. When tested the two scripts work. With the $1 and "first" variable they are inputted differently, the $1 is coming from the command prompt and the "first" variable is being asked for since none was entered at the command prompt, Iam not sure how they could be combined comming from different inputs. I haven't thought about using the like script jointly for both scripts I'll see what I can do thanks.
# 6  
The code looks ten times better with the spacing.

What kind of error message are you getting?

If code is posted something like the following format, you could probably give me some clues about the problem. Same with what you post.
Code:
$ cat temp.sh
echo "hello, world"
xxx

Code:
$ ./temp.sh
hello, world
./temp.sh: line 2: xxx: command not found

As the other poster mentioned, try to concentrate and be more careful...
# 7  
Quote:
Originally Posted by herb bertz
In the command line enter the script file
/home/etc/mycalc or /home/etc/mycalc 1 + 1 . My script file should identify if the data needed to do the calculating is present (mycalc 1 + 1)
or if it needs to ask for input (mycalc).
Play around with positional parameters if you want to do such exercises. Here's a sample program to get you started.

Code:
[user@host ~]$ cat test.sh
#! /bin/bash

if [ $# -ne 2 ] # $# here is a special shell variable which gives you the number of command line arguments supplied
then
    echo "Please supply exactly two arguments."
    exit
fi

first=$1
second=$2

echo "First argument is: $first"
echo "Second argument is: $second"
[user@host ~]$ ./test.sh hello world
First argument is: hello
Second argument is: world
[user@host ~]$ ./test.sh
Please supply exactly two arguments.
[user@host ~]$

Quote:
Originally Posted by herb bertz
Also can anyone tell me how to automaticly get line numbers put in the script so when an error comes up it is easy to find the line without counting the lines?
Open the program in vi vi test.sh. In the command mode (press ESC key, if you're unsure which mode you're currently in) and type :set nu. This will display the line numbers without affecting the program functionality. To remove the line numbers type this in command mode :set nonu. And I hope you're using vi for writing your scripts and not some GUI editor.
Login or Register for Dates, Times and to Reply

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #289
Difficulty: Easy
Sun Microsystems was acquired by Oracle Corporation in 2012.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Simple Scientific calculator for ADE, the UNIX environment for the AMIGA A1200(HD).

ADE is a UNIX environment for the ancient AMIGA A1200. By default this does NOT have the 'bc' command line calculator. Although I did a DEMO code to create a C source and compile it under python 1.4.0 and ADE using ksh88 and the gcc of the day, I decided to create this baby that requires no Python... (2 Replies)
Discussion started by: wisecracker
2 Replies

2. 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

3. Shell Programming and Scripting

Simple calculator with menu input - Need Help

I am trying to make a calculator. The user Enters number 1, chooses and operation, enters number 2, then chooses another operation or for the answer to be displayed. eg. 1 + 1 = or 1 + 1 + 2 + 1 = Both of these should be possible. #!/bin/bash read -p "what's the first number? " n1... (3 Replies)
Discussion started by: redshine6
3 Replies

4. Shell Programming and Scripting

Simple maths calculator loop.

Hi, I am trying to make a maths calculator that: 1. Prompts the user for a number. 2. Prompts the user for an operation (add, subtract, divide or multiply) 3. Prompts the user for a number. 4. Prompts the user for another operation (same as above) OR the option to get the result for the... (4 Replies)
Discussion started by: johnthebaptist
4 Replies

5. Homework & Coursework Questions

Problem with calculator script

I'm having some trouble implementing a basic calculator using command line options. The script is supposed to take (multiple) arguments -a,-d,-m,-s for addition, multiplication, division, and subtraction. I'm pretty sure I know how to parse through the options with getopt(), but I have no idea... (17 Replies)
Discussion started by: zkapopou
17 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. Shell Programming and Scripting

Bash Calculator issue

Hello, I'm relatively new to using bc so I could use some help. In this script im working on I want to have the bc function to calculate float numbers for imagemagicks convert charcoal. Below is what I'm talking about. There are no syntax errors but when it outputs the users frames for example 0-10... (2 Replies)
Discussion started by: jsells20
2 Replies

8. 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

9. 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

10. 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

Featured Tech Videos