Aide sur la boucle while en langage C
Fermé
loty91
Messages postés
4
Date d'inscription
lundi 25 avril 2011
Statut
Membre
Dernière intervention
1 mai 2011
-
1 mai 2011 à 23:14
loty91 - 3 mai 2011 à 13:26
loty91 - 3 mai 2011 à 13:26
A voir également:
- Factorielle en c boucle while
- Boucle excel sans macro - Forum Excel
- Algorithme factorielle boucle tant que ✓ - Forum Programmation
- Boucle cmd - Forum Programmation
- Factorielle sur casio fx-92 - Forum Matériel & Système
2 réponses
luern
Messages postés
88
Date d'inscription
jeudi 24 février 2011
Statut
Membre
Dernière intervention
8 juin 2011
4
1 mai 2011 à 23:36
1 mai 2011 à 23:36
C'est juste ton printf qui n'est pas bon...
Ce code marche (prend l'habitude d'initialiser directement tes valeurs) car l'affichage du nombre calculé est placé... Après que le nombre soit calculé ^^
Ou un code plus proche du tien :
La calcul se fait après l'affichage, car dans ton affichage même, tu calcule déjà un nombre déjà calculé 8)
Je suis clair ? ^^'
Médite sur ces 2 codes par rapport au tien ;)
PS : Les accents marchent pas en console ^^
#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int nCounter = 1,nNumb = 0,nSum = 0; while(nCounter<=10) { printf("Saisissez le %d eme nombre: ",nCounter); scanf("%d",&nNumb); printf("%d+%d=",nSum,nNumb); nSum+=nNumb; printf("%d\n", nSum); nCounter++; printf("la somme de ces nombres est: %d\n\n", nSum); } system("PAUSE"); return 0; }
Ce code marche (prend l'habitude d'initialiser directement tes valeurs) car l'affichage du nombre calculé est placé... Après que le nombre soit calculé ^^
Ou un code plus proche du tien :
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int nCounter,nNumb,nSum;
nSum=0;
nCounter=1;
while(nCounter<10)
{
printf(" Saisissez le %d éme nombre: ",nCounter);
scanf("%d",&nNumb);
nCounter++;
printf("la somme de ces nombres est:\n");
printf("%d+%d=%d\n",nSum,nNumb,nSum+nNumb);
nSum=nSum+nNumb;
}
system("PAUSE");
return 0;
}
La calcul se fait après l'affichage, car dans ton affichage même, tu calcule déjà un nombre déjà calculé 8)
Je suis clair ? ^^'
Médite sur ces 2 codes par rapport au tien ;)
PS : Les accents marchent pas en console ^^
loty91
Messages postés
4
Date d'inscription
lundi 25 avril 2011
Statut
Membre
Dernière intervention
1 mai 2011
1 mai 2011 à 23:54
1 mai 2011 à 23:54
merci beaucoup!! ça marche mais je ne comprends pas pourquoi la disposition change tout?Surtout pour le deuxième programme?? Je ne sais pas si tu comprends ce que je veux dire. En fait je pensais qu'il ne pouvait afficher nSum que s'il était déja défini?
Pacorabanix
Messages postés
3248
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
661
2 mai 2011 à 13:25
2 mai 2011 à 13:25
mais il est défini.
si tu veux bien comprendre ce que fait ton programme et ceux de luern, prend une feuille de papier, un crayon et une gomme.
Ensuite, mets toi "à la place" de l'ordinateur qui va lire ton code.
Lorsque tu déclare une variable, note là.
lorsque tu donnes / change une valeur de ta variable, écris le à coté de ta variable, efface la valeur précédente avec ta gomme.
et sur une partie de la feuille tu fais l'"écran" où tu écriras ce que fais printf exactement.
essaye déjà ça et regarde si ça colle avec le vrai résultat.
si ça ne marche pas, écris ce que tu croyais obtenir (toutes les étapes) et on verra.
si tu veux bien comprendre ce que fait ton programme et ceux de luern, prend une feuille de papier, un crayon et une gomme.
Ensuite, mets toi "à la place" de l'ordinateur qui va lire ton code.
Lorsque tu déclare une variable, note là.
lorsque tu donnes / change une valeur de ta variable, écris le à coté de ta variable, efface la valeur précédente avec ta gomme.
et sur une partie de la feuille tu fais l'"écran" où tu écriras ce que fais printf exactement.
essaye déjà ça et regarde si ça colle avec le vrai résultat.
si ça ne marche pas, écris ce que tu croyais obtenir (toutes les étapes) et on verra.