Thread Punkterechnungsprogramm (8 answers)
Opened by DieZahl at 2017-07-22 13:13

Gast DieZahl
 2017-07-22 13:56
#187004 #187004
2017-07-22T11:47:55 Linuxer
Du kannst das erste Skript schon verkürzen, indem Du die Redundanzen entfernst. Die Ausgabe wiederholst Du in jedem Zweig, wozu?
Deklariere $result oberhalb der if-Zweige; über die if-Zweige setzt Du dann nur die Berechnung für $result um und danach gibst Du dann das Ergebnis einmal aus:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
use strict;
use warnings;

use 5.014;

my $time = <STDIN>;
chomp $time;
my $result;

if ($time <= 49) {
$result = $time / 1;
} elsif ($time <= 99) {
$result = $time / 2 * 1;
} elsif ($time <= 199) {
$result = $time / 3 * 2;
} elsif ($time <= 299) {
$result = $time / 4 * 3;
} elsif ($time <= 500) {
$result = $time / 5 * 4;
}

print "Time Points\n";
printf "%3f %3f\n", $time, $result;


Ok danke :)

View full thread Punkterechnungsprogramm