Page 1 sur 2

afficher une valeur string de valeur int

Posté : 24 oct. 2018, 22:07
par dragonfly45
Bonsoir,

je suis débutante en code et mon école me demande de répondre à cet exercice :

- Créé une variable $nbStar contenant un entier.
- Fais en sorte que ton code affiche une chaîne de caractères contenant autant d'étoile que $nbStar
ex : si $nbStar vaut 2, il faut que ton code renvoie "**"
si $nbStar vaut 5, il faut que ton code renvoie "*****"

j'ai codé :

<?php
$nbStar = 5;

switch ($nbStar)
{
case 0:
echo "";
break;

case 1:
echo "*";
break;

case 2:
echo "**";
break;

case 3:
echo "***";
break;

case 4:
echo "****";
break;

case 5:
echo "*****";
break;

case 6:
echo "******";
break;

case 7:
echo "*******";
break;

case 8:
echo "********";
break;

case 9:
echo "*********";
break;

case 10:
echo "**********";
break;

case 11:
echo "***********";
break;

case 12:
echo "************";
break;

case 13:
echo "*************";
break;

case 14:
echo "**************";
break;

case 15:
echo "***************";
break;

case 16:
echo "****************";
break;

case 17:
echo "*****************";
break;

case 18:
echo "******************";
break;

case 19:
echo "*******************";
break;

case 20:
echo "********************";
break;

default:
echo "Sorry, it's not possible!";
}
?>

mon corecteur me fait remarquer que ma solution est restrictive puisqu'elle s'arrete à 20 et me demande que mon code fonctionne qelque soit la valeur de $nbStar.

Je suis complétement perdue!

Re: afficher une valeur string de valeur int

Posté : 24 oct. 2018, 22:38
par or 1

Re: afficher une valeur string de valeur int

Posté : 24 oct. 2018, 23:13
par dragon-fly
merci de l'indication mais je connais les boucles for, je doit avoir pété un boulon quelque part parce que je ne vois pas quoi en faire pour m'aider

Re: afficher une valeur string de valeur int

Posté : 24 oct. 2018, 23:17
par or 1
prendre l'exemple 1, lire l'énoncé, ce qu'on doit afficher, c'est une *. donc modifier l'exemple 1 pour afficher une * ou lieu de $i.

Re: afficher une valeur string de valeur int

Posté : 24 oct. 2018, 23:27
par dragon-fly
merci pour l'explication
voici ce que j'ai codé :
<?php
for ($nbStar = 1; $nbStar <= 25; $nbStar++) {
echo "*";
}
cela affiche donc 25 étoiles
mais ce nombre d'"*" se modifie quand on change la valeur de la condition et non la valeur $nbStar il me semble

Re: afficher une valeur string de valeur int

Posté : 24 oct. 2018, 23:33
par @rthur
Tu y es presque !

Remplace dans ton code $nbStar par $compteur vu que cette variable est juste là pour compter de 1 à $nbStar le nombre d'étoile à écrire

Et ensuite remplace ta valeur max (25 dans ton exemple) par la variable $nbStar qui t'indique le nombre d'étoile à utiliser :D

Re: afficher une valeur string de valeur int

Posté : 24 oct. 2018, 23:41
par dragon-fly
comme ca?

<?php
for ($compteur = 1; $nbStar <= $nbstar; $nbStar++) {
echo "*";
}

Re: afficher une valeur string de valeur int

Posté : 25 oct. 2018, 00:12
par @rthur
Non, pas comme ça.

Ton précédent code était presque bon.
Réfléchis au fonctionnement de for() par rapport à ton besoin

Re: afficher une valeur string de valeur int

Posté : 25 oct. 2018, 00:42
par dragon-fly
je sèche

Re: afficher une valeur string de valeur int

Posté : 25 oct. 2018, 00:53
par @rthur
C'est que c'est le moment d'aller dormir pour reposer le cerveau et y re-réfléchir demain ! #-o

Demain, tu reprendras ton précédent code, essayera de comprendre à quoi serve chaque ligne et portion de code.
Puis tu reliras ma réponse, tu as tout dedans.
Bonne nuit et à demain ! :-D

Re: afficher une valeur string de valeur int

Posté : 25 oct. 2018, 00:59
par dragon-fly
ok, c'est possible que mon cerveau soit en état de liquéfaction avancée et qu'une nuit de sommeil serait profitable. A demain!

Re: afficher une valeur string de valeur int

Posté : 25 oct. 2018, 11:07
par dragon-fly
la nuit ne m'a pas porté conseil, j'y arrive pas.

Re: afficher une valeur string de valeur int

Posté : 25 oct. 2018, 13:18
par or 1
l'exemple 1, c'est :
for ($i = 1; $i <= 10; $i++) {
echo $i;
}
ce que l'on veut, c'est que cela affiche une *. le changement apporté est bon.
ensuite, ce que l'on veut, c'est que cela affiche $nbStar étoiles et non 10.

Re: afficher une valeur string de valeur int

Posté : 25 oct. 2018, 14:20
par @rthur
Décris en français ce que fait ton code de 22h41
Une fois que tu auras bien compris son fonctionnement, l'adaptation à ta problématique sera plus simple

Re: afficher une valeur string de valeur int

Posté : 25 oct. 2018, 15:56
par dragon-fly
ca y est j'ai trouvé, c'était tout simplement

<?php

$nbStar = 10;
{
echo str_repeat ("*", $nbStar);
}