elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Dibujar letra 'T'
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Dibujar letra 'T'  (Leído 2,216 veces)
luchi

Desconectado Desconectado

Mensajes: 71


Ver Perfil
Dibujar letra 'T'
« en: 17 Abril 2014, 01:26 am »

Hola. Estoy teniendo problemas con éste ejercicio:
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
  1. <html>
  2. <head>
  3. <title>Letra T(formulario)</title>
  4. </head>
  5. <body>
  6. <h1><center>Letra T(formulario)</center></h1>
  7. <form action="resultado.php" method="POST">
  8. <fieldset>
  9. <legend>Formulario</legend>
  10. <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
  11. T hecha con estrellas de acuerdo con los valores indicados. Ademas ambos valores pueden ser pares o impares simultaneamente.</p>
  12. <b>Grosor:</b><input type="text" name="grosor" size=5>
  13. <b>Alto:</b><input type="text" name="alto" size=5><br>
  14. <input type="submit" value="Dibujar">
  15. <input type="reset" value="Borrar">
  16. </fieldset>
  17. </form>
  18. </body>
  19. </html>
  20.  


El resultado:
Código
  1. <html>
  2. <head>
  3. <title>Letra T (Resultado)</title>
  4. </head>
  5. <body>
  6. <?php
  7. $grosor=$_REQUEST['grosor'];
  8. $alto=$_REQUEST['alto'];
  9. if($grosor<0||$grosor>5||$grosor==""){
  10. echo "<p><font color='red'>No ha escrito el grosor</font></p>";
  11. }
  12.  
  13. if($alto<0||$alto>20||$alto==""){
  14. echo "<p><font color='red'>No ha escrito la altura como numero entero positivo</font></p>";
  15. return false;
  16. }
  17.  
  18. if(!($grosor%2==0 && $alto%2==0 || $grosor%2!=0 && $alto%2!=0)){
  19. echo "<p><font color='red'>Grososr y altura deben ser ambos pares o ambos impares</font></p>";
  20. return false;
  21. }
  22.  
  23. for($r=0 ;$r<$grosor; $r++){
  24. for($t=0; $t<$alto; $t++){
  25. echo "* ";
  26. }
  27. echo "<br>";
  28. }
  29. $resta=$grosor-1;
  30. $menos=$grosor+3;
  31. for($d=0; $d<$menos;$d++){
  32. for($i=0; $i<$resta; $i++){
  33. echo "- ";
  34. }
  35. for($l=0; $l<$grosor; $l++){
  36. echo "* ";
  37. }
  38. echo "<br>";
  39. }
  40.  
  41. ?>
  42. </body>
  43.  
  44. </html>
  45.  


En línea

novatop

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: Dibujar letra 'T'
« Respuesta #1 en: 20 Abril 2014, 04:15 am »

Creo que algo asi es lo que buscas. Fijate que para que te escriba los espacios debes usar su codigo html "&nbsp;" y no el caracter " ".
Saludos

Alfonso

Código
  1. <html>
  2. <head>
  3. <title>Letra T (Resultado)</title>
  4. </head>
  5. <body>
  6. <?php
  7. $grosor=5;
  8. $alto=13;
  9. if($grosor<0||$grosor>5||$grosor==""){
  10.  echo "<p><font color='red'>No ha escrito el grosor</font></p>";
  11. }
  12.  
  13. if($alto<0||$alto>20||$alto==""){
  14.  echo "<p><font color='red'>No ha escrito la altura como numero entero positivo</font></p>";
  15.  return false;
  16. }
  17.  
  18. if(!($grosor%2==0 && $alto%2==0 || $grosor%2!=0 && $alto%2!=0)){
  19.  echo "<p><font color='red'>Grososr y altura deben ser ambos pares o ambos impares</font></p>";
  20.  return false;
  21. }
  22. for ($h=0 ; $h<$grosor; $h++){
  23. for($i=0;$i<$alto;$i++){
  24.      echo "*";
  25. }  
  26. echo "<br>";
  27. }
  28. for ($h=0; $h<$alto-$grosor; $h++){  
  29.  for ($i=0;$i<(($alto -$grosor)/2);$i++){
  30.    echo "&nbsp;";
  31.  }
  32.  for ($i=0;$i<$grosor;$i++){
  33.    echo "*";
  34.  }
  35. echo "<br>";
  36. }
  37. ?>
  38. </body>
  39.  
  40. </html>


« Última modificación: 20 Abril 2014, 04:32 am por novatop » En línea

luchi

Desconectado Desconectado

Mensajes: 71


Ver Perfil
Re: Dibujar letra 'T'
« Respuesta #2 en: 20 Abril 2014, 22:14 pm »

Si, ahora funciona  ;D, lo del '&nbsp' era lo importante, gracias, sobre todo por que hay otros ejercicios parecidos con los que tenía la misma problemática.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
No se dibujar nada :(
Diseño Gráfico
LordKevin 3 2,317 Último mensaje 12 Abril 2006, 21:21 pm
por Azielito
Duda sobre almacenar palabra letra a letra
.NET (C#, VB.NET, ASP)
Meyer900 5 9,597 Último mensaje 27 Septiembre 2008, 19:59 pm
por SeniorX
dividir cadena letra por letra
Scripting
morenochico 3 8,775 Último mensaje 3 Julio 2009, 18:46 pm
por leogtz
Identificar letra por letra en un Textbox
Programación Visual Basic
pungados 5 15,687 Último mensaje 31 Agosto 2009, 00:21 am
por SRVAM
Como cifrar letra por letra en C++ « 1 2 ... 6 7 »
Programación C/C++
Royca3 67 61,808 Último mensaje 23 Agosto 2013, 05:32 am
por erest0r
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines