afficher à l’écran, sous la forme d’1 série d’images, un nbr entier>0

afficher à l’écran, sous la forme d’1 série d’images, un nbr entier>0 - PHP - Programmation

Marsh Posté le 20-10-2006 à 22:59:28    

aider moi SVP! je suis débutante en language php !et je voudrais faire marcher mon programme qui pour l'instant me fait la tête  [:atlantis] !!
Il s’agit d’écrire une application php qui permet d’afficher à l’écran, sous la forme d’une série d’images, un nombre entier positif, saisi au clavier par le biais d’un formulaire. La série d’images représente les différents chiffres la composant.
Exemple 1234 :
On utilisera une fonction traduction(nombre, n) qui traduit le nombre en une chaîne de n caractères qui contiendra le nombre entier. Si n est supérieur au nombre de chiffres composant le nombre elle sera complétée par des zéros.
traduction(12,4) donne «0012»
voila mon gribouillage: sans formulaire !! je teste dabord avec le nbr 12 sur 4 position! et trés imortant je l'utilisation ndes tableaux est interdite !et oui!donc j'utiliserai le réste de la division de mon nombre sur 10!ya quelque chose qui tourne as rond!!donc j'ai laissée le formulaire en dernier!
<?php  
$nb=12;//le nombre a traduire
$u=4;//nbre de position
$s=0;
function traduction($nb,$u)
{
 for ($i=1;$i<=u;$i++)
        { $r=$nb %10;  
           $s=($s*10)+$r;
           $nb=intval($nb/10);//intval retourne la valeur numérique entiére de ma division
         }
if($nb =1)
     $image = "C:\unzipped\chiffres09\1.gif";
elseif($nb = 2 )
     $image = "C:\unzipped\chiffres09\2.gif";
elseif($nb = 3 )
     $image = "C:\unzipped\chiffres09\3.gif";
elseif($nb = 4 )
     $image = "C:\unzipped\chiffres09\4.gif";
elseif($nb = 5 )
     $image = "C:\unzipped\chiffres09\5.gif";
elseif($nb = 6 )
     $image = "C:\unzipped\chiffres09\6.gif";
elseif($nb = 7 )
     $image = "C:\unzipped\chiffres09\7.gif";
elseif($nb = 8 )
     $image = "C:\unzipped\chiffres09\8.gif";
elseif($nb = 9 )
     $image = "C:\unzipped\chiffres09\9.gif";
return "$nb"
}
echo traduction("le nombre est" );
<!--<img src="image.php" alt=""/>// cette instruction est bizar que doit je mettre à l'intérieure!-->
?>  
easy php m'indique une erreur dans ma fonction!!rien que çà!!?? :pt1cable:  
je sais qu'il es chelou [:narzo]  ce scripte!!mais aidez moi SVP!et dites moi ce qui est en plus et ce qui est en moin
merci d'avance! [:mad_oc@school]

Reply

Marsh Posté le 20-10-2006 à 22:59:28   

Reply

Marsh Posté le 21-10-2006 à 00:21:26    

Citation :

easy php m'indique une erreur dans ma fonction!!rien que çà!!??


 
Il est bien aimable de partager ses soucis, dommage qu'il poste pas sur les forums :D
 
Ceci dit, il y a un gros problème de logique derrière ton code, c'est bien sympa de calculer le reste d'une division dans une boucle pour ne s'en servir qu'une fois sorti de la boucle en question, d'initialiser une variable qui ne sert visiblement à rien ou d'avoir sauté le chapitre sur la balise <img> et l'intérêt d'un chemin vers une image située sur ton disque dur.
 
Entres autres.
 
(ça a l'air d'un travail pour une école quelconque ce truc, surtout l'interdiction d'utiliser des tableaux...)

Reply

Marsh Posté le 21-10-2006 à 01:47:06    

Pourquoi tu te casses le mou, on te demande de transformer un nombre en caractère, php est roi à ce jeu, utilise les fonctions de manipulations de chaines ;)
 
Après t'as peu être d'autres contraintes, et là c'est mal parti ton histoire, y'en manque un gros bout non :??:

Reply

Marsh Posté le 21-10-2006 à 13:27:46    

Pour mettre fin a ce topic sans grand interet ...

Code :
  1. <?php
  2. function traduction($nombre , $digit)
  3. {
  4.  return str_repeat('0', max(0,$digit-strlen($nombre))).$nombre;
  5.  // ou
  6.  // return sprintf('%0'.$digit.'u',$nombre);
  7.  // mais la y a plus d'algo du tout :p
  8. }
  9. ?>

Message cité 2 fois
Message édité par afbilou le 21-10-2006 à 14:35:26
Reply

Marsh Posté le 21-10-2006 à 16:04:30    

afbilou a écrit :

Pour mettre fin a ce topic sans grand interet ...


 
Ouais, surtout que ça répond pas à sa question  :ange:

Reply

Marsh Posté le 21-10-2006 à 16:09:10    

afbilou a écrit :

Pour mettre fin a ce topic sans grand interet ...

Code :
  1. <?php
  2. function traduction($nombre , $digit)
  3. {
  4.  return str_repeat('0', max(0,$digit-strlen($nombre))).$nombre;
  5.  // ou
  6.  // return sprintf('%0'.$digit.'u',$nombre);
  7.  // mais la y a plus d'algo du tout :p
  8. }
  9. ?>



Après faut afficher en image :o

Reply

Marsh Posté le 21-10-2006 à 20:24:32    

Code :
  1. $nb=12;
  2. $u=4;
  3. $affiche=sprintf('%0'.$u.'u',$nb);
  4. for($i=0;$i<$u;$i++)
  5.   echo '<img src="C:\\unzipped\\chiffres09\\'.$affiche[$i].'.gif">';

Reply

Marsh Posté le 21-10-2006 à 20:39:17    

Il peut pas utiliser de tableaux :D

Reply

Marsh Posté le 21-10-2006 à 21:40:12    

sans tableau, tu est obligé d afficher à l envers:
0012 -> modulo 10 -> 2
  001 -> modulo 10 -> 1
    00 -> modulo 10 -> 0
      0 -> modulo 10 -> 0
 
=> 2100

Reply

Marsh Posté le 21-10-2006 à 21:46:59    

Code :
  1. $nb=12;
  2. $u=4;
  3. echo ereg_replace('(.)', '<img src="C:\\unzipped\\chiffres09\\\\1.gif">', sprintf('%0'.$u.'u',$nb));



Message édité par nargy le 21-10-2006 à 21:47:23
Reply

Marsh Posté le 21-10-2006 à 21:46:59   

Reply

Marsh Posté le 22-10-2006 à 22:27:34    

salut a tous !!mérci pour vos méssages !!comme vous l'avez constaté j'ai tardéE et donc j'étais en train de pondre le code; c'est vraiment le térme éxacte! je vous le montre de suite, il ma rendu [:alandon] !dites moi ce que vous en pensé ?et si il s'éxécute bien chez vous ?petétre avec WAMP qui sais?? [:ngkreator]  
 

Code :
  1. <?php
  2.    
  3.       //Remarque: ce code a été éxécuté avec easy php!
  4.     $nb=$_POST["nb"];
  5. $n=strlen($nb);//retourne la taille de la chaine saisie (nb)
  6. if($nb=="" )//teste si la zone de saisie est vide
  7.         {
  8.     echo "<br/><br/><br/><br/><br/><center><h2>Saisissez le  nombre!<br/><br/>merci!</center>";
  9.  }//fermeture du if
  10.     else
  11.         {
  12.     echo "<pre><br/><br/><br/><br/>   <h1>le nombre est:</pre>";
  13.  }//fermeture du else
  14.           function traduire($nb,$n)
  15.            {
  16.        for ($i=1;$i<=$n;$i++)
  17.            {
  18.         $rest=$nb%10;
  19.             $result=intval($nb/10);
  20.         $result=$result.$rest;
  21.     }//fermeture du for1  
  22.        for ($i=1;$i<=$n;$i++)
  23.     {
  24.      $rest=$result%10;
  25.      print("<img src=\"$rest.gif\" >" );
  26.      $rest=$rest.$result;
  27.             $result=intval($result/10);
  28.            }//fermeture du for2
  29.            }//fermeture de la fonction
  30.  traduire($nb,$n);//appél de la fonction
  31. ?>

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed