Simple Calculator | Unix Linux Forums | Homework & Coursework Questions

  Go Back    


Homework & Coursework Questions Students must use and complete the template provided. If you don't, your post may be deleted! Special homework rules apply here.

Simple Calculator

Homework & Coursework Questions


Closed Thread    
 
Thread Tools Search this Thread Display Modes
    #1  
Old 03-22-2013
herb bertz herb bertz is offline
Registered User
 
Join Date: Mar 2013
Last Activity: 28 March 2013, 1:31 AM EDT
Posts: 9
Thanks: 1
Thanked 1 Time in 1 Post
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?

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.

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 12:34 PM..
Sponsored Links
    #2  
Old 03-22-2013
hanson44 hanson44 is offline
Registered User
 
Join Date: Mar 2013
Last Activity: 12 May 2013, 11:33 PM EDT
Posts: 858
Thanks: 18
Thanked 180 Times in 177 Posts
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.
Sponsored Links
    #3  
Old 03-22-2013
herb bertz herb bertz is offline
Registered User
 
Join Date: Mar 2013
Last Activity: 28 March 2013, 1:31 AM EDT
Posts: 9
Thanks: 1
Thanked 1 Time in 1 Post
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  
Old 03-22-2013
RudiC RudiC is offline Forum Advisor  
Registered User
 
Join Date: Jul 2012
Last Activity: 31 October 2014, 12:14 PM EDT
Location: Aachen, Germany
Posts: 4,485
Thanks: 74
Thanked 1,099 Times in 1,035 Posts
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
Sponsored Links
    #5  
Old 03-22-2013
herb bertz herb bertz is offline
Registered User
 
Join Date: Mar 2013
Last Activity: 28 March 2013, 1:31 AM EDT
Posts: 9
Thanks: 1
Thanked 1 Time in 1 Post
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.
Sponsored Links
    #6  
Old 03-23-2013
hanson44 hanson44 is offline
Registered User
 
Join Date: Mar 2013
Last Activity: 12 May 2013, 11:33 PM EDT
Posts: 858
Thanks: 18
Thanked 180 Times in 177 Posts
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...
Sponsored Links
    #7  
Old 03-23-2013
balajesuri's Avatar
balajesuri balajesuri is offline Forum Advisor  
#! /bin/bash
 
Join Date: Apr 2009
Last Activity: 26 October 2014, 10:18 AM EDT
Location: India
Posts: 1,832
Thanks: 25
Thanked 526 Times in 505 Posts
Quote:
Originally Posted by herb bertz View Post
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 View Post
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.
Sponsored Links
Closed Thread

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
Simple calculator with menu input - Need Help redshine6 Shell Programming and Scripting 3 01-18-2013 04:00 PM
Simple maths calculator loop. johnthebaptist Shell Programming and Scripting 4 12-19-2011 01:26 PM
Help with calculator code mac4rfree Shell Programming and Scripting 2 02-08-2010 04:36 AM
calculator jdougy UNIX for Dummies Questions & Answers 2 01-15-2009 02:26 AM
Calculator ironhead3fan Shell Programming and Scripting 2 04-25-2008 12:31 PM



All times are GMT -4. The time now is 04:55 AM.