User Tools

Site Tools


inputs_param

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
inputs_param [2017/07/05 10:30] gginputs_param [2017/07/05 11:03] (current) gg
Line 373: Line 373:
 <code bash> <code bash>
 perl input.pl Werner 30 perl input.pl Werner 30
 +</code>
 +
 +==== PHP ====
 +=== Code ===
 +<code php>
 +<?php
 +
 +function checkName($name) {
 +  // Die Länge des Namens prüfen
 +  if(strlen($name) == 0) {
 +    return false;
 +  }
 +
 +  // prüfen, ob der erste Buchstabe eine Grossbuchstabe ist
 +  if($name[0] < 'A' || $name[0] > 'Z') {
 +    return false;
 +  }
 +  // Sind alle anderen Buchstaben Kleinbuchstaben?
 +  for($i = 1; $i < strlen($name); $i++) {
 +    if($name[$i] < 'a' || $name[$i] > 'z') {
 +      return false;
 +    }
 +  }
 +
 +  // Alle Bedingungen sind erfüllt
 +  return true;
 +}
 +
 +function checkAge($age) {
 +  // Die Länge des Alters prüfen
 +  if(strlen($age) == 0 || strlen($age) > 2) {
 +    return false;
 +  }
 +
 +  // prüfen, ob das Alter mit 1-9 beginnt
 +  if($age[0] < '1' || $age[0] > '9') {
 +    return false;
 +  }
 +  // prüfen, ob die zweite Zahl (falls vorhanden) zwischen 0 und 9 ist 
 +  if(strlen($age) == 2) {
 +    if($age[1] < '0' || $age[1] > '9') { 
 +      return false;
 +    }
 +  }
 +
 +  // Alle Bedingungen sind erfüllt
 +  return true;
 +}
 +
 +// prüfen, ob die Anzahl der Parameter stimmt
 +if(sizeof($argv) != 3) {
 +  echo "Usage: $argv[0] [Name] [Alter]\n";
 +  exit;
 +}
 +
 +// sprechendere Namen verwenden
 +$name = $argv[1];
 +$age  = $argv[2];
 +
 +// die beiden Variablen prüfen
 +if(!checkName($name)) {
 +  echo "Der Name muss mit einem Grossbuchstaben beginnen und darf sonst nur Buchstaben enthalten\n";
 +  exit;
 +}
 +if(!checkAge($age)) {
 +  echo "Das Alter muss mit 1-9 beginnen, darf nur Zahlen enthalten und maximal 99 sein\n";
 +  exit;
 +}
 +
 +echo "Dein Name ist $name und du bist $age Jahre alt\n";
 +</code>
 +
 +=== Ausführen ===
 +Die Datei input.php mit obigen Code befüllen und auf folgendem Weg ausführen.
 +<code bash>
 +php input.php Werner 30
 </code> </code>
  
 ==== Python ==== ==== Python ====
 +Python bietet mit **OptParse** oder **ArgParse** ziemlich gute Module für Programmparameter an. Hier soll aber gezeigt werden, wie es mit Bordmitteln funktioniert.
 === Code === === Code ===
 <code python> <code python>
Line 444: Line 521:
 </code> </code>
  
 +===== Übungen =====
 +  * Lese eine ganze Zahl als Programmparameter ein und berechne die Fakultät dieser Zahl
 +  * Erweitere die obigen Beispiele um einen weiteren Parameter. Lese zusätzlich das Geburtsdatum ein (inklusive Prüfungen!) und gib es aus
 +  * Baue einen kleinen Taschenrechner, der addieren und subtrahieren kann
 +  * Erweitere den Taschenrechner um die Multiplikation und Division
inputs_param.1499243442.txt.gz · Last modified: 2017/07/05 10:30 by gg