用perl制作成绩查询系统,条件和循环语句
时间: 2024-09-20 17:17:31 浏览: 10
在Perl中制作一个简单的成绩查询系统,你可以结合数组、哈希以及条件语句(如if...else...、while...直到等)来实现。以下是一个基础示例:
```perl
#!/usr/bin/perl
use strict;
use warnings;
# 假设我们有一个成绩数据存储在哈希中
my %scores = (
'张三' => {
'数学' => 90,
'英语' => 85,
'语文' => 95
},
'李四' => {
'数学' => 88,
'英语' => 92,
'语文' => 90
}
);
print "请输入学生姓名:";
my $name = <STDIN>;
chomp($name); # 去除输入末尾的换行符
# 使用条件语句检查是否存在该学生
if (exists $scores{$name}) {
print "查询到的成绩如下:\n";
foreach my $subject (keys %{$scores{$name}}) {
print "$subject: $scores{$name}->{$subject}\n";
}
} else {
print "抱歉,找不到该学生的成绩。\n";
}
# 如果你想按特定条件排序并显示最高分的学生,可以添加一个循环,比如按总分排序:
my $total_score = 0;
foreach my $score (@{$scores{$name}}) {
$total_score += $score;
}
if ($total_score) {
my @sorted_scores = sort { $scores{'张三'}{$b} <=> $scores{'张三'}{$a} } keys %$scores{$name};
print "最高分科目:$sorted_scores[0] - $scores{$name}->{$sorted_scores[0]}\n";
} else {
print "这个学生没有分数记录。\n";
}