+ Répondre à la discussion
Affichage des résultats 1 à 9 sur 9
  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2006
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : décembre 2006
    Messages : 271
    Points : 68
    Points
    68

    Par défaut Positionnement de texte

    Bonjour,

    Voila je fais un petit programme en ce moment et je souhaiterai faire une petite mise en forme. Je m'explique :

    Dans mon programme j'ai une entête et j'aimerai que celle ci ce trouve au centre de la. Pour l'instant j'improvise avec des espaces comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
            cout << "          ***********************************           " << endl;
    	cout << "           L'entête de mon programme              " << endl;
    	cout << "          ***********************************           " << endl;
    Est ce qu'il existe dune autre façon de faire autre que les espaces ? Car suivant l'écran d'affichage où sera lancé le programme j'imagine qu'avec les espaces ça ne sera pas le même rendu ....

    Merci de votre aide

  2. #2
    Expert Confirmé
    Profil pro
    Inscrit en
    mars 2007
    Messages
    1 342
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : mars 2007
    Messages : 1 342
    Points : 2 687
    Points
    2 687

    Par défaut

    Hello

    Si tu es sur Linux (ou autre Unix), tu peux utiliser NCurses pour faire cela, ou Conio sur Windows.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2006
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : décembre 2006
    Messages : 271
    Points : 68
    Points
    68

    Par défaut

    Ok merci je teste ça ce soir en rentrant chez moi.

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    mai 2008
    Messages
    18 347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : mai 2008
    Messages : 18 347
    Points : 107 089
    Points
    107 089
    Billets dans le blog
    3

    Par défaut

    Bonjour,

    Citation Envoyé par jblecanard Voir le message
    Hello

    Si tu es sur Linux (ou autre Unix), tu peux utiliser NCurses pour faire cela, ou Conio sur Windows.
    Autant rester portable et utiliser PDCurses pour "avoir NCurses" sous Windows
    Vous souhaitez participer à la rubrique 2D / 3D / Jeux ? Contactez-moi
    La rubrique a aussi un blog !

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  5. #5
    Membre chevronné

    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2012
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2012
    Messages : 411
    Points : 721
    Points
    721
    Billets dans le blog
    1

    Par défaut

    Peut-être peux-tu créer des fonctions te permettant d'avoir un truc régulier.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Marge()
    {
        for(int nbr = 0; nbr < 5; nbr++) //RÉGLAGE DE TA MARGE SUR UNE FONCTION
        {
               cout << " ";
        }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Entête(string nom) //PATRON D’ENTÊTE
    {
        Marge(4); cout << "***********************************" << endl;
        Marge(4); cout << nom << endl;
        Marge(4); cout << "***********************************" << endl;
    }

  6. #6
    Membre confirmé
    Avatar de EtherOS
    Homme Profil pro
    Etudiant Polytechnicien
    Inscrit en
    juillet 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Etudiant Polytechnicien
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juillet 2012
    Messages : 58
    Points : 210
    Points
    210

    Par défaut juste une proposition

    vous pourrez aussi inclure la librairie "graphics.h" dans votre compilateur ensuite utiliser les gotoxy(COLS, LINES) et MoveTo(COLS,LINES) pour deplasser du texte suivant une position donnée de l'écran et bien d'autres operations .

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2006
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : décembre 2006
    Messages : 271
    Points : 68
    Points
    68

    Par défaut

    Bonjour à tous,

    Je suis revenu sur ce petit problème que je n'ai toujours pas résolu. Mon programme avant et je souhaite commencer à le mettre en forme.

    Donc est ce que quelqu'un peux m'aider pour que je puisse position un texte au centre de l'écran.

    Texte à centrer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    cout << "***********************************" << endl;
    cout << " Mon Programe" << endl;
    cout << " ***********************************" << endl;

  8. #8
    Membre chevronné

    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2012
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2012
    Messages : 411
    Points : 721
    Points
    721
    Billets dans le blog
    1

    Par défaut

    Re !
    Sache que par défaut, la console est de taille 25 * 80

    Si tu veux quelque chose d'automatique, peut être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        string text("L'entete de mon programme");
        int taille = (80 - text.size()) / 2; // Trouver le nombre d'espace avant ton texte
     
        cout<< string(taille, ' ');// Afficher les espaces
        cout<< text;//Afficher ton texte

  9. #9
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mai 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : mai 2005
    Messages : 29
    Points : 43
    Points
    43

    Par défaut

    Ma petite contribution.
    Pour récupérer la "taille" de la console, tu peux utiliser la fct ioctl du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    #include<sys/ioctl.h>
     
    main()
    {
        struct winsize w;
        ioctl(STDOUT_FILENO, TIOCGWINSZ, &w);
     
        printf ("lines %d\n", w.ws_row);
        printf ("columns %d\n", w.ws_col);
    .
    .
    .
    Ensuite, en connaissant la largeur de la console, ça devient simple de centrer le texte...

    A+