PHP :: Aufgabe #253
1 Lösung

Angelsächsische Maße umrechnen
Anfänger - PHP
von DragStar
- 23.03.2020 um 09:41 Uhr
Die angelsächsischen Maße sind ja manchmal etwas seltsam. Schreiben Sie ein Programm, welches nach einer Menüauswahl:
1: inch, 2: foot, 3: yard, 4: mile
und der nachfolgenden Eingabe eines Maßes, dieses nach folgender Tabelle in Meter umrechnet:
inch 0,0254 m
foot 0,3048 m
yard 0,9144 m
mile 1609,34 m
1: inch, 2: foot, 3: yard, 4: mile
und der nachfolgenden Eingabe eines Maßes, dieses nach folgender Tabelle in Meter umrechnet:
inch 0,0254 m
foot 0,3048 m
yard 0,9144 m
mile 1609,34 m
Lösungen:

<?php array_shift($argv); // remove script name if (sizeof($argv) !== 2) { die ('Error: 2 arguments needed, ' . sizeof($argv). ' provided.'); } $value = floatval($argv[0]); $unit = $argv[1]; $allowedUnits = [ 'inch', 'foot', 'yard', 'mile' ]; if (!in_array($unit, $allowedUnits)) { die ('Error: invalid unit provieded, "' . $unit . '".'); } switch ($unit) { case 'inch': $result = 0.0254 * $value; break; case 'foot': $result = 0.3048 * $value; break; case 'yard': $result = 0.9144 * $value; break; case 'mile': $result = 1609.34 * $value; break; } echo $value , ' ' , $unit , ' = ' , $result , ' m' , PHP_EOL , PHP_EOL;
Konsolenausgabe:
php main.php 1 inch
1 inch = 0.0254 m
php main.php 1 foot
1 foot = 0.3048 m
php main.php 1 yard
1 yard = 0.9144 m
php main.php 1 mile
1 mile = 1609.34 m