in reply to Homework: simple calculator

Hey guys, I've just modified the program. Thank you everyone for helping me and making sure I fully understand how to arrange my commands. Here is it after the modification. Hope anyone leave a comment whether the new program is good or not. Thanks again.
#!/user/bin/perl -w use strict; use warnings; print "Welcome to the math program\n"; while (1) { print "Enter a number\n"; my $first_number = <STDIN>; chomp ($first_number); if ($first_number eq 'q') { die "Goodbye!\n"; } else { print "Enter a second number"; my $second_number = <STDIN>; chomp ($second_number); my $add; my $subtract; my $times; my $divide; if ($second_number !=0) { $add = $first_number + $second_number; $subtract = $first_number - $second_number; $times = $first_number * $second_number; $divide = $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"; print "$first_number / $second_number = $divide\n"; } else { $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 * $second_number = $times\n"; } } }

Replies are listed 'Best First'.
Re^2: Homework: simple calculator
by GrandFather (Saint) on Oct 25, 2007 at 02:39 UTC

    Much better, but a little refactoring improves things even more:

    #!/user/bin/perl use strict; use warnings; print "Welcome to the math program\n"; while (1) { print "Enter a number (or q to quit)\n"; my $first_number = <STDIN>; chomp ($first_number); die "Goodbye!\n" if $first_number eq 'q'; print "Enter a second number"; my $second_number = <STDIN>; chomp ($second_number); my $add = $first_number + $second_number; my $subtract = $first_number - $second_number; my $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) { my $divide = $first_number / $second_number; print "$first_number / $second_number = $divide\n"; } }

    Of course there is another way to do it. Consider:

    #!/user/bin/perl use strict; use warnings; print "Welcome to the math program\n"; while (1) { print "Enter a number (or q to quit)\n"; my $first_number = <STDIN>; chomp ($first_number); die "Goodbye!\n" if $first_number eq 'q'; print "Enter a second number\n"; my $second_number = <STDIN>; chomp ($second_number); print "$first_number $_ $second_number = ", eval "$first_number $_ + $second_number", "\n" for $second_number != 0 ? qw(+ - * /) : qw(+ - *); }

    Perl is environmentally friendly - it saves trees