http://www.mclibre.org/consultar/php/examenes/13-14/letra_t.html
No consigo dar con ello para que me salga todo bien, unas veces la parte de arriba sale bien, pero el 'palito' no, tengo que usar el carácter '-' por que si pongo el espacio en blanco, los espacios me los imprime todos a la derecha y se deforma...en fin, aquí el código:
-El formulario
Código
<html> <head> <title>Letra T(formulario)</title> </head> <body> <h1><center>Letra T(formulario)</center></h1> <form action="resultado.php" method="POST"> <fieldset> <legend>Formulario</legend> <p>Indique el grosor del trazo de la letra(mayor que cero y menor que cinco) y su altura(menor que 20) y se mostrara una letra T hecha con estrellas de acuerdo con los valores indicados. Ademas ambos valores pueden ser pares o impares simultaneamente.</p> <b>Grosor:</b><input type="text" name="grosor" size=5> <b>Alto:</b><input type="text" name="alto" size=5><br> <input type="submit" value="Dibujar"> <input type="reset" value="Borrar"> </fieldset> </form> </body> </html>
El resultado:
Código
<html> <head> <title>Letra T (Resultado)</title> </head> <body> <?php $grosor=$_REQUEST['grosor']; $alto=$_REQUEST['alto']; if($grosor<0||$grosor>5||$grosor==""){ echo "<p><font color='red'>No ha escrito el grosor</font></p>"; } if($alto<0||$alto>20||$alto==""){ echo "<p><font color='red'>No ha escrito la altura como numero entero positivo</font></p>"; return false; } if(!($grosor%2==0 && $alto%2==0 || $grosor%2!=0 && $alto%2!=0)){ echo "<p><font color='red'>Grososr y altura deben ser ambos pares o ambos impares</font></p>"; return false; } for($r=0 ;$r<$grosor; $r++){ for($t=0; $t<$alto; $t++){ echo "* "; } echo "<br>"; } $resta=$grosor-1; $menos=$grosor+3; for($d=0; $d<$menos;$d++){ for($i=0; $i<$resta; $i++){ echo "- "; } for($l=0; $l<$grosor; $l++){ echo "* "; } echo "<br>"; } ?> </body> </html>