IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

progression du calcul


Sujet :

C++

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 8
    Points : 5
    Points
    5
    Par défaut progression du calcul
    Bonjour,

    Je cherche à afficher la progression d’un calcul, j’ai utilisé alors la méthode suivante :
    J’ai crée un tableau avec 101 éléments contenant les entiers 0 à 100
    Et je fais un affichage de la bonne case du tableau : voici une partie du code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    double tab[101];
     
    for (int i=1;i<=N;i++)
    {
        cout <<"progression "<< tab[int(100.0*i/N)]<<" %"<< endl;
    }
    Sauf que là il ne le fait pas sur une seule ligne, j’aimerais savoir s’il y a moyen de faire l’affichage sur une seule ligne avec actualisation quand la case du tableau change.

    Merci d’avance pour vos aides

  2. #2
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 751
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 751
    Points : 10 670
    Points
    10 670
    Billets dans le blog
    3
    Par défaut
    Enlève le endl pour ne pas revenir à la ligne. J'ai pas bien compris ce que contient ton tableau tab, ni le but de la manip
    mettre directement i ça marche pas ? (avec for (int i=0;i<N;i++))

  3. #3
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    avec endl, tu lui dis de retourner à la ligne, c'est normal ! il faut que tu utilises /r, je crois.

  4. #4
    Nouveau Candidat au Club
    Inscrit en
    Juin 2004
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    un "/t" pour avoir des tabulations. entre chaque affichage.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    En fait je cherche à afficher la progression de mon calcul du genre :

    progression : 1%
    progression : 2% etc ...

    mais je veux que ca s'actualise sans retour à la ligne. c'est à dire juste le chiffre qui change.

    Le fait d'enlever le endl me fait un truc du genre :

    progression : 1%progression : 2%progression : 3% etc ...

    donc ce n'est pas bon.

    le tableau contient des entiers allant de 0 jusqu'à 100. pour représenter les 0% à 100%. mais effictivement je peux mettre directement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    cout <<"progression "<< int(100.0*i/N) <<" %" << endl;

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 31
    Points : 34
    Points
    34
    Par défaut
    Utilise \b pour effacer les derniers caractères affichés.

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Julien est ce que tu peux me donner la syntaxe par ce que j'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    cout <<"progression  "<<int(100.0*i/nphot)<<" % \b" ;
    mais ca marche pas

    Merci

  8. #8
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 751
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 751
    Points : 10 670
    Points
    10 670
    Billets dans le blog
    3
    Par défaut
    Ton tableau tab ne sert à rien.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
        cout << "Progression: 0%";
        for ( int i = 1; i <= 100; i++ )
        {
            if ( i <= 10 ) { cout << "\b\b"; }
            else if ( i <= 100 ) { cout << "\b\b\b"; }
            else { cout << "\b\b\b\b"; }
     
            cout << i << '%';
        }
        cout << "\n";
    note que là tu verras rien car tout le texte va s'afficher d'un coup et tu verras "100%" directement. Il faudrait faire une petite pose entre 2 affichages.

  9. #9
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    Clair.
    Note : un std::flush peut s'avérer utile.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    ok merci

Discussions similaires

  1. Réponses: 5
    Dernier message: 24/08/2009, 08h14
  2. Bar de progression (pour calcul en tache de fond)
    Par batataw dans le forum Langage
    Réponses: 2
    Dernier message: 09/06/2009, 18h05
  3. Progress bar pendant un calcul
    Par zapibranigan dans le forum C++
    Réponses: 2
    Dernier message: 09/10/2006, 13h50
  4. barre représentant la progression des calculs
    Par fontaigo dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 26/04/2006, 11h37
  5. Etat de progression d'un calcul.
    Par méphistopheles dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 23/12/2005, 12h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo