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 :

Probl�me notion struct


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti Avatar de Revan80
    Homme Profil pro
    �tudiant
    Inscrit en
    Mars 2016
    Messages
    14
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 14
    Par d�faut Probl�me notion struct
    Bonjour , voila je suis d�butant et je ne comprends pas une notion, par exemple :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    #include <iostream>
     
    struct Date {
     
        using day_t = uint8_t;
     
        day_t day{} 
    };
     
    int main(){
     
    Date today{}; 
     
    }
    Que renvoie le type Date ?? uint8_t ? pourquoi ne pas utiliser le type day_t en premier ?, merci .

  2. #2
    Inactif  

    Homme Profil pro
    Ing�nieur test de performance
    Inscrit en
    D�cembre 2003
    Messages
    1 986
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 51
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Ing�nieur test de performance
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 1 986
    Par d�faut
    Bonjour.

    Ce code ne compile pas sous Visual Studio...

    Quel est votre compilateur ?

  3. #3
    Expert �minent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activit� : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par d�faut
    Citation Envoy� par moldavi Voir le message
    Bonjour.

    Ce code ne compile pas sous Visual Studio...

    Quel est votre compilateur ?
    C'est parce qu'il manque le ; apr�s les accolades de la ligne 8 (day_t day{};)
    @Revan80

    Citation Envoy� par eragon
    Blisinger signifie le feu. C'est le feu. La chose, c'est le mot. Connais le mot et tu contr�les la chose.
    Lorsque tu vas cr�er une structure Date, tu vas lui permettre de repr�senter trois notions distinctes :
    1. le nombre de jour,
    2. le nombre de mois
    3. le nombre d'ann�e

    la ligne 6 (using day_t = uint8_t;) nous permet de d�finir le type day_t comme "nous permettant de repr�senter toutes les valeurs que l'on s'attend � observer pour la notion de jour". Et le fait est que, du moment que l'on a cette garantie, on se fout pas mal de savoir de combien de bits ce type est utilis�: on sait que day_t permet de repr�senter le nombre de jour.

    Mais ca, ce n'est encore qu'un type. A cot� de cela, toute date est compos�e (entre autres) d'une donn�e... repr�sentant le nombre de jour. Si bien que, partant de l�, il est logique que nous repr�sentions cette information sous la forme d'un champs de la structure dont le type est... d�fini comme "pr�vu pour repr�senter" la notion de jour. Et, bien sur, comme la notion de date est �galement compos�e (le plus souvent) de deux autres donn�es (permettant respectivement de repr�senter le mois et l'ann�e), nous devons pouvoir identifier sans l'ombre d'un doute la donn�e qui permet de repr�senter le nombre de jour.

    Et ca, c'est le r�le de la ligne 8 (day_t day{};). Et comme on a nomm� le champs day et non month ou year, le nom de ce champs nous indique tr�s clairement la raison pour laquelle le champs existe : pour repr�senter le jour (et non le mois ou l'ann�e).

    Le seul "truc", c'est que ta structure Date n'est pas compl�te en l'�tat : il lui manque ad minima deux donn�es suppl�mentaires (pour repr�senter respectivement le mois et l'ann�e)
    A m�diter: La solution la plus simple est toujours la moins compliqu�e
    Ce qui se con�oit bien s'�nonce clairement, et les mots pour le dire vous viennent ais�ment. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 f�vrier 2014
    mon tout nouveau blog

  4. #4
    Expert �minent

    Femme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (�le de France)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par d�faut
    Et puis, question vocabulaire, un type ne renvoie rien, ce n'est pas une fonction.

  5. #5
    Membre averti Avatar de Revan80
    Homme Profil pro
    �tudiant
    Inscrit en
    Mars 2016
    Messages
    14
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 14
    Par d�faut
    Merci de m'avoir r�pondu, mais donc pour: Date today{};

    La structure Date repr�sente normalement la notion de jour de moi et d'ann�e mais je veux dire a quoi correspond t'elle concr�tement pour l�ordinateur, un type ? Autrement dit quel est la diff�rence pour l'ordinateur entre :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
     int main(){
     
    Date today{}; 
    int today{};
     
    }

  6. #6
    R�dacteur/Mod�rateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 153
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : Canada

    Informations professionnelles :
    Activit� : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 153
    Billets dans le blog
    4
    Par d�faut
    Pour l'ordinateur ? On s'en moque ? Un int, un char, un Toto, pour l'ordinateur �a repr�sente quoi ? Une s�rie d'octets, le reste il s'en moque, ce ne sont que des mot-cl�s pour aider le programmeur.
    Pensez � consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation r�seau ?
    Aucune aide via MP ne sera dispens�e. Merci d'utiliser les forums pr�vus � cet effet.

  7. #7
    Expert �minent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activit� : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par d�faut
    Citation Envoy� par Revan80 Voir le message
    Merci de m'avoir r�pondu, mais donc pour: Date today{};

    La structure Date repr�sente normalement la notion de jour de moi et d'ann�e mais je veux dire a quoi correspond t'elle concr�tement pour l�ordinateur, un type ? Autrement dit quel est la diff�rence pour l'ordinateur entre :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
     int main(){
     
    Date today{}; 
    int today{};
     
    }
    Comme je te l'ai dit, la notion de date est une notion complexe, que l'on d�compose assez facilement en plusieurs donn�es "bien particuli�res" (que l'on appellera sans doute day, month et year, par exemple), et ce, quelque soit la mani�re dont ces donn�es pourront �tre repr�sent�es en m�moire.
    Par contre, si tu utilise un type entier quel qu'il soit, tu force l'utilisation d'un type particulier, et tu t'obliges donc � mettre "certains m�canismes en place" pour pouvoir r�cup�rer les donn�es qui t'int�resseront r�ellement.

    Il n'y a absolument rien d'impossible pour y arriver, mais il faut comprendre que les trois notions (jour, mois, ann�e) que v�hicule la notion de date sont tr�s fortement d�pendantes les unes des autres : il n'y a que 12 mois dans une ann�e et le nombre de jours qui composent chacun de ces mois d�pend -- pour la majorit� -- du mois en question, mais, pour le mois de f�vrier, �galement de l'ann�e consid�r�e. Si bien que tu ne peux �tre sur de repr�senter une date valide que... lorsque tu regroupe les notion de jour, de mois et d'ann�e pour les faire travailler ensemble.

    Ainsi, la date 25/01/2015 repr�sente une date valide, mais pas la date 29/02/2015 (parce que 2015 n'est pas une ann�e bissextile, et qu'il n'y a donc que ... 28 jours en f�vrier), pas plus que la date 35/05/2016 (il n'y a jamais 35 jours dans un mois) ou que la date 12/13/2017 (il n'y a jamais 13 mois dans l'ann�e).

    Tant que tu n'auras pas compris que le r�le d'une structure (ou d'une classe) date est de garantir la coh�sion entre les notions de jour, de mois et d'ann�e, il sera tr�s difficile de t'expliquer quoi que ce soit d'autre
    A m�diter: La solution la plus simple est toujours la moins compliqu�e
    Ce qui se con�oit bien s'�nonce clairement, et les mots pour le dire vous viennent ais�ment. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 f�vrier 2014
    mon tout nouveau blog

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 4
    Dernier message: 21/06/2010, 01h19
  2. [Debutant]Probl�me Insertion dans une Struct
    Par sniperseb dans le forum D�buter
    R�ponses: 13
    Dernier message: 17/12/2006, 03h57
  3. R�ponses: 22
    Dernier message: 29/01/2005, 11h29
  4. Probl�me avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    R�ponses: 2
    Dernier message: 17/07/2002, 10h25

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