PHP :: Aufgabe #243

1 Lösung Lösung öffentlich

Rabatt für Stammkunden

Anfänger - PHP von DragStar - 20.03.2020 um 11:46 Uhr
Ein Kassenprogramm verlangt die Eingabe eines Betrags und fragt, ob der Kunde Stammkunde ist. Falls ja, erhält er 5% Rabatt.
Das Programm soll auf die Eingaben "j" und "n", groß und klein geschrieben, reagieren.

Lösungen:

vote_ok
von Exception (7090 Punkte) - 15.05.2020 um 17:19 Uhr
Es sei gesagt, dass boolval um einiges mehr als "true" anerkennt. Siehe die Dokumentation zu boolval

Quellcode ausblenden PHP-Code
<?php

define('DISCOUNT', 0.05);

array_shift($argv); // remove script name 

if (sizeof($argv) !== 2) {
  die ('Error: Expected 2 parameter, ' . sizeof($argv) . ' provided.' . PHP_EOL);
}

$amount = floatval($argv[0]);
$regularCustomer = boolval($argv[1]);

$discount = 0.0;

if ($regularCustomer) {
   $discount = $amount * DISCOUNT;
}

echo '--------------------------------------------------------------------------------' , PHP_EOL ,
     'Price regular : ' , number_format($amount, 2, '.', ',') , PHP_EOL ,
     'Discount      : ' , number_format($discount, 2, '.', ',') , PHP_EOL , 
     'Price to pay  : ' , number_format(($amount - $discount), 2, '.', ',') , PHP_EOL, 
     '--------------------------------------------------------------------------------' , PHP_EOL;

Konsolenausgabe:

php main.php 1.0 y

--------------------------------------------------------------------------------
Price regular : 1.00
Discount : 0.05
Price to pay : 0.95
--------------------------------------------------------------------------------