Publicité
+ 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
    133
    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 : 133
    Points : 49
    Points
    49

    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 161
    Détails du profil
    Informations personnelles :
    Nom : Jean-Bernard
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : mars 2007
    Messages : 1 161
    Points : 2 049
    Points
    2 049

    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
    133
    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 : 133
    Points : 49
    Points
    49

    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
    14 357
    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 : 14 357
    Points : 67 230
    Points
    67 230

    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 éprouvé

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

    Informations professionnelles :
    Activité : Caissier

    Informations forums :
    Inscription : décembre 2012
    Messages : 291
    Points : 453
    Points
    453

    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 actif
    Avatar de EtherOS
    Homme Profil pro Lionel Tidjon
    Etudiant Polytechnicien
    Inscrit en
    juillet 2012
    Messages
    57
    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 : 57
    Points : 179
    Points
    179

    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
    133
    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 : 133
    Points : 49
    Points
    49

    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 éprouvé

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

    Informations professionnelles :
    Activité : Caissier

    Informations forums :
    Inscription : décembre 2012
    Messages : 291
    Points : 453
    Points
    453

    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
    Nouveau Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mai 2005
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : mai 2005
    Messages : 25
    Points : 38
    Points
    38

    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
  •