Compte à rebour boucle
chirita
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour, j'ai fait un petit programme en C++ :
Mais moi j'aimerai ne pas avoir de "s" dans "Fin du programme dans 1 ligne"
Quelqu'un à la solution ?
merci bien
#include <iostream>
using namespace std;
int main()
{
int a;
cin >> a;
while(a > 0)
{
cout << "Fin du programme dans " << a << " lignes" << endl;
a = a--;
}
cout << "Fin" << endl;
return 0;
}
Mais moi j'aimerai ne pas avoir de "s" dans "Fin du programme dans 1 ligne"
Quelqu'un à la solution ?
merci bien
5 réponses
-
Salut, tu peux mettre plusieurs "cout" à la suite, et faire une condition du style :
cout "Fin du programme dans " << a; if(a>1) cout << " lignes"; else cout << "ligne" cout << endl;
-
salut,
Peux tu me donner le code en entier parce que la je n'arrive pas à l'implémenter correctement, merci -
Je te déconseille très fortement l'utilisation de a=a--;
Soit tu fais a=a-1; soit tu fais a--; mais le mélange des deux est casse-tête !
Pour ton problème, il te suffit de modifier ta boucle et faire while(a>1) et de traiter à part le cas a==1. Tu peux aussi traiter cette boucle avec for.
for (;a>1;a--) cout << "Fin du programme dans " << a << " lignes" << endl; cout << "Fin du programme dans 1 ligne" << endl; cout << "Fin" << endl;
La confiance n'exclut pas le contrôle -
Salut,
Je viens juste de trouver la solution :#include <iostream> using namespace std; int main() { int a; cin >> a; while(a > 1) { cout << "Fin du programme dans " << a << " lignes" << endl; a = a--; } if (a > 0) { cout << "Fin du programme dans 1 ligne" << endl; } cout << "Fin" << endl; return 0; }
KX, d'accord je vais modifier le a = a-- merci -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Une boucle for est plus adaptée à ton cas. Le "while" c'est quand on doit faire des boucles où le nombre d'itérations n'est pas connu à l'avance mais plutôt une condition.
Un peu de lecture sur le C/C++ te serait peut être utile. Et il y a plein de sites avec des cours très complets.