Compte à rebour boucle

chirita -  
 Utilisateur anonyme -
Bonjour, j'ai fait un petit programme en C++ :

#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

  1. Utilisateur anonyme
     
    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;
    0
  2. chirita
     
    salut,

    Peux tu me donner le code en entier parce que la je n'arrive pas à l'implémenter correctement, merci
    0
  3. KX Messages postés 19031 Statut Modérateur 3 020
     
    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
    0
  4. chirita
     
    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
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Utilisateur anonyme
     
    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.
    0