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

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

    Informations forums :
    Inscription : décembre 2006
    Messages : 216
    Points : 62
    Points
    62

    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 :
    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
    Membre Expert
    Profil pro Jean-Bernard
    Inscrit en
    mars 2007
    Messages
    1 264
    Détails du profil
    Informations personnelles :
    Nom : Jean-Bernard
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : mars 2007
    Messages : 1 264
    Points : 2 453
    Points
    2 453

    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 Nekcorp
    Étudiant
    Inscrit en
    décembre 2006
    Messages
    216
    Détails du profil
    Informations personnelles :
    Nom : Homme Nekcorp
    Localisation : France

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

    Informations forums :
    Inscription : décembre 2006
    Messages : 216
    Points : 62
    Points
    62

    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 Alexandre Laurent
    Ingénieur développement logiciels
    Inscrit en
    mai 2008
    Messages
    16 992
    Détails du profil
    Informations personnelles :
    Nom : Homme Alexandre Laurent
    Localisation : France

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

    Informations forums :
    Inscription : mai 2008
    Messages : 16 992
    Points : 88 695
    Points
    88 695

    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
    Manutentionnaire
    Inscrit en
    décembre 2012
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Manutentionnaire

    Informations forums :
    Inscription : décembre 2012
    Messages : 401
    Points : 746
    Points
    746
    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 :
    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 :
    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 Lionel Tidjon
    Etudiant Polytechnicien
    Inscrit en
    juillet 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Nom : Homme Lionel Tidjon
    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 Nekcorp
    Étudiant
    Inscrit en
    décembre 2006
    Messages
    216
    Détails du profil
    Informations personnelles :
    Nom : Homme Nekcorp
    Localisation : France

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

    Informations forums :
    Inscription : décembre 2006
    Messages : 216
    Points : 62
    Points
    62

    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 :
    1
    2
    3
    4
     
    cout << "***********************************" << endl;
    cout << " Mon Programe" << endl;
    cout << " ***********************************" << endl;

  8. #8
    Membre chevronné

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

    Informations professionnelles :
    Activité : Manutentionnaire

    Informations forums :
    Inscription : décembre 2012
    Messages : 401
    Points : 746
    Points
    746
    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 :
    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 Dominique
    Développeur informatique
    Inscrit en
    mai 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Nom : Homme Dominique
    Â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 :
    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+

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •