A l'aide sur le boucle for

kamal92 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour, j'ai un petit souci svp!!!je veux faire un programme qui demande a l'utilisateur de saisir un nombre et d'afficher les etoiles(****) avec le boucle for.mon probleme est surtout au niveau de la condition.merci



A voir également:

6 réponses

mamiemando Messages postés 33778 Date d'inscription   Statut Modérateur Dernière intervention   7 884
 
Pour lire la valeur de l'utilisateur il suffit d'utiliser scanf.
Pour écrire quelque chose tu peux utiliser printf.

Comme tu le vois dans les pages de man il faut inclure <stdio.h> :
http://www.linux-france.org/article/man-fr/man3/scanf-3.html
http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man3/sprintf.3.html

Exemple :

int main() {
  int n;
  printf("n ?\n");
  scanf("%d", &n);
  printf("n = %d\n", n);
  return 0;
}


Ensuite il faut écrire un certain nombre d'étoiles. J'imagine que si tu saisis la valeur 5 pour n, tu veux écrire 5 étoiles. Il suffit donc d'écrire une étoile, de compter cette étoile, et de répéter jusqu'à avoir compté 5 étoiles.

Une boucle for se décompose en trois parties, chacune séparée par des points virgules, et chacune optionnelle
- l'initialisation : une suite d'instructions, séparées par des virgules
- la condition d'arrêt : l'arrêt est déclenché quand on redémarre la boucle si l'opération calculée vaut 0 ou NULL
- la phase de post intructions, chaque instruction étant séparées par des virgules, et qui sont déclenchées quand on atteint la fin de la boucle for (ie l'accolade fermante).

Par exemple pour compter de 0 à 9 (soit 10 itérations) on peut écrire :

for(i = 0; i < 10; i++) {
  // instructions répétées
}


Comme je le disais on peut aussi imaginer des boucles comme ceci (ceci équivaut à while(true) { ...} ) :

for( ; ; ) {
  // instructions répétées indéfiniment
}


... ou avec plusieurs instructions dans la 1ere et la 3e parties de la boucle :

for(i = 0, j = 10; i < 10 && j > 3; i++, j--) {
  // instructions
}


Si tu as bien compris tout ça, écrire ta boucle for devrait être simple...

Bonne chance
0
kamal92 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
justement,mais lorsque je fais tout cela avc le for (i=o;i<10;i++) il demande a l'utilisateur de donner un nombre et lui affiche 10 etoiles.je sais pas pour quoi???
0
Johann74270
 
Et si tu nous passais ton code ?
0
kamal92 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
excuse moi quel code????
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Dans ta boucle for, il faut mettre la variable entrée par l'utilisateur (et non 10 statiquement)
0
kamal92 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
mais justement l'utilisateur saisi nimporte quel chiffre je ne sais quoi mettre
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
je ne sais quoi mettre
La variable...
int i;
int n;
scanf ("% d", &n);
for (i=0; i < n; i++)
...
0