perl - 带有数组作业问题的简单菜单不会执行
问题描述
我的编程和逻辑介绍课程的最后一个实验将无法执行,它在屏幕上快速显示 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
}
预期 - 提示输入名称并分配给数组
实际 - 快速 CMD 窗口闪烁然后什么都没有
解决方案
听起来您正在双击某种目录列表中的程序,该程序在命令窗口中启动程序然后立即关闭 - 没有给您时间查看它显示的消息。当然,解决方案是打开您自己的命令窗口,然后perl your_program_name.pl
在提示符下键入。当程序退出时,已经打开的命令窗口不会关闭,您将能够看到错误。
(但如果我不得不猜测,我建议问题出在您定义的行中的“智能引号” @username
。)
推荐阅读
- batch-file - 删除 Sql server 数据库后批处理文件停止运行
- c# - Main 入口点函数可以异步吗?
- sorting - 按结构字段对向量进行动态链式排序
- java - 使用 jira api 获取 org.codehaus.jettison.json.JSONException 时面临问题:缺少值。在性格
- node.js - 无法使用 ReactJs 从托管在 localhost 上的 node.js API 获取数据
- python - If 语句无法解析余数:'|' 从'|"
- amazon-web-services - 如何从 CloudFormation 模板中的 S3 链接下载 lambda 代码
- ios - Xcode中以下两个网络扩展选项有什么区别
- authentication - 在客户端存储客户端机密
- java - 如何从mysql获取多行