用perl制作个人成绩查询系统,用到条件和循环语句
时间: 2024-09-21 13:04:16 浏览: 4
在Perl中创建一个个人成绩查询系统通常涉及到以下几个步骤:
1. 数据结构:首先,你需要设计一个数据结构来存储学生的姓名、学号和他们的成绩。这可以是一个哈希表(Hash),其中键是学生标识(如姓名或学号),值是对应的成绩列表。
```perl
my %student_scores;
$student_scores{"张三"} = [90, 85, 95]; # 例如三次考试的成绩
```
2. 输入验证:用户需要输入查询条件,比如姓名或学号。你可以使用`<>`运算符获取用户的输入,并检查是否合法。
```perl
print "请输入姓名或学号:";
my $search_key = <STDIN>;
chomp $search_key; # 去除换行符
```
3. 条件判断和循环:根据用户输入的条件,使用if-else结构来决定搜索哪种数据结构。如果输入的是姓名,则遍历整个哈希;如果是学号,则通过直接查找哈希键来检索成绩。
```perl
if ($search_key eq '姓名') {
foreach my $name (keys %student_scores) {
if ($name eq $search_key) {
print "学生 $name 的成绩:@{$student_scores{$name}}\n";
}
}
} elsif ($search_key =~ /^\d+$/) { # 使用正则表达式检查输入是否为数字
if (exists $student_scores{$search_key}) {
print "学号 $search_key 的成绩:@{$student_scores{$search_key}}\n";
} else {
print "未找到该学号的学生。\n";
}
} else {
print "输入无效,请输入正确的姓名或学号。\n";
}
```
4. 循环控制:如果你有多次查询请求,可以使用while或until循环让用户继续查询直到他们选择退出。
```perl
while (1) {
# ... 之前的查询部分 ...
print "是否继续查询?(y/n): ";
my $continue = <STDIN>;
chomp $continue;
last if $continue ne 'y';
}
```