PHP :: Aufgabe #124 :: Lösung #1
3 Lösungen

#124
Zahlenübersetzer für Mark
Anfänger - PHP
von Acel007
- 13.08.2016 um 11:05 Uhr
Fred will seinem Freund Mark, der nicht gut Englisch sprechen kann, aber sich darum bemüht, es zu lernen, ein Programm schreiben, welches eine beliebige eingegebene Zahl (von 1 - 999) in die geschriebene, englische Version übersetzt (1 = one, u.s.w). Doch er kann selber nicht gut programmieren und fragt nun dich um Hilfe. Hilf Fred ein Programm zu schreiben, welches die oben beschriebene Aufgabe erfüllt.
(Die englischen Regeln für gescheieben Zahlen müssen eingehalten werden.)
(Die englischen Regeln für gescheieben Zahlen müssen eingehalten werden.)
#1

von reso (270 Punkte)
- 18.12.2017 um 14:18 Uhr

<form action="zahlen_uebersetzer.php" method="get"> <input type="text" name="zahl" pattern="[\d]{1,3}" > <br> <input type="submit" name="los" value="Los"> <br> </form>

$numbers = array(1=>one,two,three,four,five,six,seven,eight,nine,ten, eleven,twelve,thirteen,fourteen,fifteen,sixteen,seventeen, eighteen,nineteen,twenty,30=>thirty,40=>forty,50=>fifty,60=>sixty, 70=>seventy, 80=>eighty,90=>ninety,100=>hundred); if(isset($_GET['los']) && !empty($_GET['zahl'])) { $zahl = $_GET['zahl']; $zahl_arr = str_split($zahl); switch(count($zahl_arr)) { case 1: $zahl_zusammen = $zahl_arr[1].$zahl_arr[2]; echo $numbers[$zahl_arr[0]]; break; case 2: $zahl_zusammen = $zahl_arr[0].$zahl_arr[1]; if($zahl_zusammen < 20 ) { echo $numbers[$zahl_arr[1]+10]; } else { echo $numbers[$zahl_arr[0]*10]."-".$numbers[$zahl_arr[1]]; } break; case 3: $zahl_zusammen = $zahl_arr[1].$zahl_arr[2]; if($zahl_zusammen < 20 && $zahl_zusammen > 0 ) { echo $numbers[$zahl_arr[0]]." ".$numbers[100]." ".$numbers[$zahl_arr[2]+10]; } elseif($zahl_zusammen == 0) { echo $numbers[$zahl_arr[0]]." ".$numbers[100]; } else { echo $numbers[$zahl_arr[0]]." ".$numbers[100]." ".$numbers[$zahl_arr[1]*10]."-".$numbers[$zahl_arr[2]]; } break; } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1