in reply to Homework: simple calculator

i made some modifications to your code and it will now basically do what you need :
#!/user/bin/perl -w use strict; use warnings; my ($add,$first_number,$second_number,$subtract,$times,$divide); print "Welcome to the mathq program\n\n"; while(1){ print "Enter a number : "; $first_number = <STDIN>; chomp($first_number); if ($first_number eq "q") { die "Goodbye\n"; } else { print "Enter a second number : "; $second_number = <STDIN>; print "\n\n"; chomp ($second_number); $add = $first_number + $second_number; $subtract = $first_number - $second_number; $times = $first_number * $second_number; print "$first_number + $second_number = $add\n"; print "$first_number - $second_number = $subtract\n"; print "$first_number x $second_number = $times\n"; if($second_number!=0){ $divide = $first_number / $second_number; print "$first_number / $second_number = $divide\n"; } print "\n\n"; } }

but you'll still have to filter illegal inputs...

Replies are listed 'Best First'.
Re^2: Homework: simple calculator
by Tux (Canon) on Oct 24, 2007 at 15:36 UTC

    If people here start about code layout, indentation, and useless constructs, I'd like to throw in one of my pet peeves here.

    if (expression) { die "reason"; } else { ... }

    is so unnessasary cluttering. A program flow stops after a die. There is no use for an else. Same after a return is a sub

    lc $first_number eq "q" and die "Goodbye\n"; ... rest of code

    Is so much easier to read and maintain. For those that like statement modifiers (I don't), you can also use

    die "Goodbye\n" if lc $first_number eq "q";

    Enjoy, Have FUN! H.Merijn