Visit The New, Modern Unix Linux Community


Doing simple math for children.


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Doing simple math for children.
# 8  
Quote:
What happens in here? something wrong with
if ["$answer1" -eq "$((i*j))"]
This just compares whatever their input is with the actual answer.

I've checked that and both values come out correct. If you add the bolded statements to it, you'll see that the values come out correctly, so it should just be comparing them.

Code:
 
#!/bin/bash
i=1
while [ $i -le 10 ]; do
    j=1
    while [ $j -le 10 ]; do
      echo "$i * $j = "  
      read answer1
      echo "answer1 is... $answer1"
     echo "calculation is... $((i*j))"
      if ["$answer1" -eq "$((i*j))"]
      then
        echo 'Right!'
        ((j+=1))
      else
        echo 'Wrong!' 
     fi     
    done
    ((i+=1))
done

I'm not sure why you're getting that error... pretty awfully non-descript. I'll take a look at your second script and see if we can manage to get that to work how you want it.
# 9  
Quote:
Originally Posted by ugurgazi
What now happens is that I get the next while running the script:

Code:
~$   bash test1
1 * 1 = 
1
test1: line 8: [1: command not found
Wrong!

That's because you need spaces between your square brackets and contents of the test. In the following example, the first test succeeds, the second test errors:
Code:
if [ 1 -eq 1 ]; then echo yes; fi
if [1 -eq 1]; then echo yes; fi

Regards,
Mark.
# 10  
Yes, still practicing, and making a script for the children.
So far thanks for your information. Together with the above script I have a second script. (see below)

What goes wrong is, when a question is asked wrong, it will repeat this question. So far so good.
But when the second time the answer to the question is given correct, it still repeats!
I think there is something wrong with the "else.......read $getallinks x $getalrechts" part... But what is?

It has to repeat the question with the wrong answer till the correct answer is given.. !

Still learning much with bash scripting.. Thanks to you!



Quote:
#!/bin/bash

while true
do
getallinks=$((RANDOM/(32767/10)+1))
getalrechts=$((RANDOM/(32767/10)+1))

echo "Hoeveel is $getallinks x $getalrechts ?"
read -p "Antwoord: " antwoordleerling
antwoordjuiste=$((getallinks*getalrechts))

if test $antwoordleerling == $antwoordjuiste
then
echo "Goed zo! $getallinks x $getalrechts is inderdaad $antwoordjuiste."
else

while (( $antwoordleerling != $antwoordjuiste ))
do
echo "Fout! Probeer het nogmaals $getallinks x $getalrechts ="
read $getallinks x $getalrechts

done
fi
done
# 11  
You're creating an infinite loop with this. Once it's wrong, it never exits because you never get a new value.

Code:
 
while (( $antwoordleerling != $antwoordjuiste ))
do
echo "Fout! Probeer het nogmaals $getallinks x $getalrechts =" 
read $getallinks x $getalrechts

I think this should fix it and work to your liking.

Code:
 
#!/bin/bash
while true
do
getallinks=$((RANDOM/(32767/10)+1))
getalrechts=$((RANDOM/(32767/10)+1))
echo "Hoeveel is $getallinks x $getalrechts ?"
read antwoordleerling
antwoordjuiste=$((getallinks*getalrechts))
if test  $antwoordleerling == $antwoordjuiste 
then
echo "Goed zo! $getallinks x $getalrechts is inderdaad $antwoordjuiste."
else
while (( $antwoordleerling != $antwoordjuiste ))
do
echo "Fout! Probeer het nogmaals $getallinks x $getalrechts =" 
read antwoordleerling
done
fi
done


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

Test Your Knowledge in Computers #38
Difficulty: Easy
The standard port number for SMTP applications is 25.
True or False?

8 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

pstree but without other children of ancestors

Hi, I want to display the process tree of a given PID, however, I don't want to see other children of the ancestors that don't reach the current PID. My goal is, from the tree result, i have to fetch a particular parent process by keyword, and if any other children from parents have the same... (2 Replies)
Discussion started by: ysrini
2 Replies

2. Programming

Multiple children and single pipe

Greetings everyone, I need a bit of help in solving the following problem: I'm given an array of numbers and I have to compute the sum of the array elements using n processes, and the inter process communication has to be done with pipes(one pipe, to be exact). I managed to solve the problem... (14 Replies)
Discussion started by: ephesos
14 Replies

3. Shell Programming and Scripting

Killing process and children

Hi all, I have been searching all day for a nice solution to this problem. I have three scripts. A start script, a child script and a stop script. Script A (scripta.sh) Its Child Script B (scriptb.sh) Script C (kill_process.sh $PID) Script A correctly traps the kill command sent from... (6 Replies)
Discussion started by: mark007
6 Replies

4. UNIX for Advanced & Expert Users

Fork() 1 Parent 3 Children

Hi, as I understand fork(), it makes a copy of the parent which becomes a child. But is there anyway to make three children for that one parent. So in other words, if I look up the getppid() of the children, I want them to have the same value?? Thanks in advance to any help! (1 Reply)
Discussion started by: MS_CC
1 Replies

5. Shell Programming and Scripting

Prepend name of directory to children folders

Hi, I am a shell scripting newbie. I am in need of a shell script that will prepend the name of the parent directory to the child directory. For example if the shell script called rename.sh is invoked with ">rename.sh /home/foobar/Simple" and the structure of the folder Simple is : Simple... (7 Replies)
Discussion started by: kalichar
7 Replies

6. UNIX for Dummies Questions & Answers

Simple Math question...

Hi All , I'm trying to do a simple math expression ...but unsuccessfull :-( Anyone can help me? days=23 amount=`expr ${days} / 30 \* -125` echo $amount but as result i got 0 when i expect 95.833333 Another question...how i can limit only to two or three decimal fields? Thanks in... (1 Reply)
Discussion started by: EDBGSK
1 Replies

7. UNIX for Advanced & Expert Users

How to follow processes and their children with ps

Hi, I often need to find the child processes of a parent process. There may be a string of 4-5. That is, PPID 884 spawns 890, which spawns 894, which spawns 1017. I'd like to be able to see all of them without having to type in a number of ps -ef commands. Process groups and session ID's are... (2 Replies)
Discussion started by: mschwage
2 Replies

8. Programming

Father & children

Hello, i should finished this program, if anyone could tell me whats wrong... This is an optional university work, though i cant leave this nearly finished. I need to see where is my error :( What my program should do. The user must type "num_proc" ( number of children). The program creates a... (4 Replies)
Discussion started by: Jariya
4 Replies

Featured Tech Videos