Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Affichage en C++ (deux chiffres au minimum)



  1. #1
    lui

    Affichage en C++ (deux chiffres au minimum)


    ------

    Bonjour,
    Ma question ce porte sur l'affichage en C++.
    Je veux affichier des entiers qui correspondent à l'heure et la date en C++, et en faisant ça, j'ai rencontré un petit problème: je n'arrive pas à afficher 2 chiffres (zéro en plus si le chiffre est inférieur à 10).
    Par exemple, pour afficher la date 28/03/2008, le programme m'affiche 28/3/2008
    Comment je peux afficher 03 au lieu de 3.

    Merci d'avance

    -----

  2. Publicité
  3. #2
    invite765732342432
    Invité

    Re : Affichage en C++ (deux chiffres au minimum)

    Citation Envoyé par lui Voir le message
    Par exemple, pour afficher la date 28/03/2008, le programme m'affiche 28/3/2008
    Comment je peux afficher 03 au lieu de 3.
    Ta demande manque un peu de précisions (dans un champs texte, en ligne de commande ?) Mais un moyen facile (mais orienté C) est d'utiliser printf (ou un de ses dérivés):
    printf("%02d/%02d/%04d", jour, mois, année);

    Sinon, en C++, je suppose qu'il est facile de créer un objet date et demander à cet objet l'affichage sous un certain format... (ce serait bien plus élégant en C++)

  4. #3
    lui

    Re : Affichage en C++ (deux chiffres au minimum)

    Comme je travaille en C++, je ne veux pas utiliser printf(.....), et je suis obligé d'afficher cette date comme déja expliqué, car j'ai une fonction qui returne la date et l'heure.

  5. #4
    invite6754323456711
    Invité

    Re : Affichage en C++ (deux chiffres au minimum)

    Bonjour,

    Pour afficher la date au format 29/03/2008 (dd/mm/YYYY)

    #include <time.h>
    #include <iostream.h>

    int main(int argc, char* argv[])
    {

    time_t time_of_day;
    char buffer[ 150 ];
    time_of_day = time( NULL );
    strftime( buffer, 150, "%d/%m/%Y",localtime( &time_of_day ) );
    cout << buffer;
    return 0;
    }

    Patrick

  6. A voir en vidéo sur Futura
  7. #5
    invite6754323456711
    Invité

    Re : Affichage en C++ (deux chiffres au minimum)

    Citation Envoyé par lui Voir le message
    Comment je peux afficher 03 au lieu de 3.
    Je pense que c'est plutôt ce type de réponse que tu attends :

    int i = 3
    cout << setw(2) << setfill('0') << i << endl;

    Et non un mélange de C et C++.

    Pour la Date Microsoft fournie la classe CTime

    //CTime t = CTime::GetCurrentTime();
    //return t.Format("%d-%m-%Y" );


    Patrick

  8. #6
    Towl

    Re : Affichage en C++ (deux chiffres au minimum)

    Je ne connais pas trop le C++, mais je trouve dommage de proposer une solution se basant sur l'API Microsoft pour fournir une fonction aussi basique que la date.
    Je pense que de bon réflexes seraient plutôt d'apprendre à faire un code portable en utilisant des classes standard, ou au moins portable.

    Après conseiller quelquechose, j'en serais incapable, mais j'ai plusieurs fois entendu du bien du coté de Boost, donc y jetter un coup d'oeil pourrait être interressant.
    The only limiting factor of the Linux operating system, is his user. - Linus Torvalds

  9. Publicité
  10. #7
    invite6754323456711
    Invité

    Re : Affichage en C++ (deux chiffres au minimum)

    Citation Envoyé par Towl Voir le message
    Je ne connais pas trop le C++, mais je trouve dommage de proposer une solution se basant sur l'API Microsoft pour fournir une fonction aussi basique que la date.
    Je pense que de bon réflexes seraient plutôt d'apprendre à faire un code portable en utilisant des classes standard, ou au moins portable.

    Après conseiller quelquechose, j'en serais incapable, mais j'ai plusieurs fois entendu du bien du coté de Boost, donc y jetter un coup d'oeil pourrait être interressant.
    Oui je suis entièrement d'accord avec toi. Mais après relecture de lui (non pas de moi ) je pense que ce qu'il cherche est plutôt comment formater l'impression d'une date et non utiliser une classe Date.

    J'ai citer la classe CTime (surtout return t.Format("%d-%m-%Y" ) à titre de modèle auquel on peut s'inspirer pour écrire sa propre classe.

    Maintenant j'irais même plus loin. Si l'objectif est de se former à la programmation orienté objet je conseillerais alors plutôt l'usage de Java (langage purement objet) que de C++. Même si en Java il n'y a pas l'héritage Multiple, le concept d'interface pallie très bien à cette restriction.


    Patrick

Discussions similaires

  1. Affichage digital des chiffres
    Par Rhedae dans le forum Discussions scientifiques
    Réponses: 7
    Dernier message: 25/12/2012, 14h22
  2. Couple minimum
    Par Fullmetal7 dans le forum Technologies
    Réponses: 2
    Dernier message: 19/02/2008, 20h06
  3. Minimum
    Par Sparda dans le forum Mathématiques du collège et du lycée
    Réponses: 4
    Dernier message: 28/11/2007, 14h56
  4. Deux individus, deux vies, deux "formes"
    Par Savarac dans le forum Psychologies (archives)
    Réponses: 4
    Dernier message: 17/08/2007, 12h50
  5. Le minimum, un triangle !!
    Par Fildomen dans le forum Mathématiques du supérieur
    Réponses: 7
    Dernier message: 11/02/2006, 22h35
Découvrez nos comparatifs produits sur l'informatique et les technologies.