Простое меню с множеством домашних заданий не выполнится - PullRequest
1 голос
/ 23 апреля 2019

Моя последняя лабораторная работа по моему вводному курсу по программированию и логике не будет выполнена, на экране будет быстрый всплеск CMD, тогда ничего не произойдет.Я не уверен, что это синтаксическая ошибка или что.Большое спасибо за любую помощь.

#Part 2 Insert 1.0
@username=(“first”,“last”);
print "Please enter your first name: ";
$username[0] = <STDIN>;
chomp $username[0];

print "Please enter your last name: ";
$username[1] = <STDIN>;
chomp $username[1];

print "Your name is:\n";
print "$username[0]\n$username[1]\n";

print "Please enter a number\n";
$number1 = <STDIN>;
chomp $number1;
#Part 2 Insert 1.0 - END


print "Please enter a second number\n";
$number2 = <STDIN>;
chomp $number2;

while ( $number2 == 0 )
{
  print "You entered $number2\nPlease enter a non-zero number\n";
  $number2 = <STDIN>;
  chomp $number2;
}

print "Please enter your first name\n";
$name=<STDIN>;
chomp $name;

print "$name, how many times do you want to run your program?\n";
$total_loops=<STDIN>;
chomp $total_loops;

print "\n$name, you entered $number1 and $number2\n";

for($ctr=1; $ctr <= $total_loops; $ctr++)
{
  print("\nDisplaying $ctr of $total_loops loops \n\n");
  print("Please make a selection using the menu below\n");
  print "1 - Subtract \n";
  print "2 - Divide\n";
  print "3 - Modulus\n";
  print "4 - Exit\n";
  $answer = <STDIN>;
  chomp $answer;

#next line edited to use lab4 part 2 array
  print "$username[0] $username[1] You selected $answer as your menu choice\n\n";

if($answer == 1)
{
  $sub = $number1 - $number2;
  print("$number1 - $number2 is $sub");
 }
elsif($answer == 2)
{
  $quot = $number1/$number2;
  print "$number1 / $number2 is $quot";
}
elsif($answer == 3)
{
   $mod=$number1 % $number2;
   print "$number1 % $number2 is $mod";
 }
elsif($answer == 4)
{
    print "Exiting program";
    exit 0;
 }
else
 {
    print "$answer is not a valid menu choice! Please retry.";
  }
  print ("\n"); #blank line
}

Ожидается - запрос имени и назначение массива, запрос номера меню для выбора операции, вывод результатов печати с назначенным именем из массива

Actual - окно Quick CMD мигает, а затем ничего не отображается

1 Ответ

3 голосов
/ 23 апреля 2019

Звучит так, будто вы дважды щелкаете по программе в каком-то списке каталогов, который запускает программу в командном окне, а затем сразу же закрывается, не давая вам времени увидеть, какое сообщение оно отображает.Решение, конечно, состоит в том, чтобы открыть свое собственное командное окно и затем набрать perl your_program_name.pl в командной строке.Уже закрытое командное окно не закроется при выходе из программы, и вы сможете увидеть ошибку.

(Но если бы мне пришлось угадывать, я бы предположил, что проблема заключалась в «умных цитатах»в строке, где вы определяете @username.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...