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 :

Structure, union, énumeration


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 9
    Par défaut Structure, union, énumeration
    Salut, je voudrai avoir votre avis sur un problème d'un partiel.
    Quelle solution pouvez vous apporter?

    voilà le sujet:
    --------------------
    Un vendeur d'ordinateur voudrait gérer un stock de machines. Pour cela, il doit définir les caractéristiques principales des ordinateurs, afin d'avoir une structure de données générale.
    Un ordinateur est défini par:
    -la marque du fabricant
    -la marque du processeur (Intel ou AMD, ou Autre)
    -la puissance du processeur (un entier)
    -le nombre de processeurs dans la machine (entier)
    -la taille de la memoire (entier)
    -la taille du disque dur
    -s'il sagit d'un processeur Intel:
    -> est il hyper threading?
    -> est il 64 bits ou 32 bits ?
    -s'il sagit d'un processeur AMD: est il 64 ou 32 bits ?
    -le prix de l'ordinateur
    -le nombre d'ordinateurs de ce type en stock.

    A partir de toutes ces caractéristiques, proposer une structures de données caractérisant les ordinateurs (pour plus de clarté, utiliser les unions, les enumerations et les structures).
    --------------------

    il faut donc utiliser "uniquement" les structures, unions et enumerations, on ne touche pas au programme en lui meme, c'est juste "l'en tete".

    Merci de votre avis.

  2. #2
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Par défaut
    Une fois de plus, Developpez.com n'est pas un site pour faire les devoirs.

    Si tu as commencé à plancher sur ton exo et que tu as des questions précises, n'hésites pas à les formuler.

    Mais balancer un exo comme ca en demandant la solution, NON !
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 9
    Par défaut
    ok lol je vois que mon premier post n'est pas une réussite ...

    je n'ai aucun devoir ou je ne sais quoi a faire, je demande juste au visiteur leurs avis sur le sujet. Maintenant s'il faut montrer patte blanche quand le professeur passe dans les rangs, j'ai evidement une ebauche.

    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
    16
    17
    18
    19
    20
    typedef enum{Intel, AMD, Autre}marque_proc;
    typedef enum(64, 32)bit_proc;
    typedef enum(TRUE, FALSE)boolean_e;
    struct{
    String fabricant;
    marque marque_proc;
    int puissance;
    int nb_proc;
    union{
    	bit_e bit;
    	struct{
    	bit_e bit;
    	boolean_e hyper_threading;
    	}processeur_u;
    }processeur;
    int memoire;
    int DD;
    double prix;
    int stock;
    }ordinateur;
    Qu'en pensez vous ?

  4. #4
    Membre émérite Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Par défaut
    je demande juste au visiteur leurs avis sur le sujet
    Il est bien posé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    union{
    	bit_e bit;
    	struct{
    	bit_e bit;
    	boolean_e hyper_threading;
    	}processeur_u;
    }processeur;
    C'est l'bordel mon capitaine ! Où tu défini bit_e ? Est-ce bit_proc ?

    Sont-ce des cours purement théoriques ? As-tu séché les TP ? Vous demande-t-on d'écrire du code sans jamais vous avoir montré comment le compiler ?

  5. #5
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 967
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 967
    Par défaut
    Dia,
    Citation Envoyé par valefor Voir le message
    Sont-ce des cours purement théoriques ? As-tu séché les TP ? Vous demande-t-on d'écrire du code sans jamais vous avoir montré comment le compiler ?
    +1

    et j'ajoute (au moins !)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    typedef enum(64, 32)bit_proc;
    des valeurs numériques ne sont pas des identifiants valides.

  6. #6
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Pas de type String en C. La déclaration des alias de type bit_proc et boolean_e n'est pas correcte. Quelques corrections:

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    #define MAX_LEN 32
     
    typedef enum
    {
        Intel, AMD, Autre
    }
    marque_proc;
     
     
    typedef int bit_proc;
     
    typedef enum {FALSE, TRUE} boolean_e;
     
    struct
    {
        /* -tc- pas de type String en C 
        String fabricant;
        */
        char fabricant[MAX_LEN + 1];
        marque marque_proc;
        int puissance;
        int nb_proc;
        union
        {
            bit_proc bit;
            struct
            {
                bit_proc bit;
                boolean_e hyper_threading;
            } processeur_u;
        } processeur;
        int memoire;
        int DD;
        double prix;
        int stock;
    } ordinateur;
    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  7. #7
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Thierry Chappuis Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    typedef enum {TRUE, FALSE} boolean_e;
    Farceur !

    http://emmanuel-delahaye.developpez..../ed/inc/bool.h

  8. #8
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Ethan831 Voir le message
    <...> j'ai evidement une ebauche.
    <...>
    Qu'en pensez vous ?
    Mais c'est supair !
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    Project   : Forums
    Compiler  : GNU GCC Compiler (called directly)
    Directory : D:\dev\forums\
    --------------------------------------------------------------------------------
    Switching to target: default
    Compiling: main.c
    main.c:2: error: syntax error before '(' token
    main.c:3: error: syntax error before '(' token
    main.c:5: error: syntax error before "String"
    main.c:5: warning: no semicolon at end of struct or union
    main.c:6: error: syntax error before "marque_proc"
    main.c:6: warning: useless keyword or type name in empty declaration
    main.c:6: warning: empty declaration
    main.c:10: error: syntax error before "bit_e"
    main.c:10: warning: no semicolon at end of struct or union
    main.c:12: error: syntax error before "bit_e"
    main.c:12: warning: no semicolon at end of struct or union
    main.c:13: warning: type defaults to `int' in declaration of `hyper_threading'
    main.c:13: warning: data definition has no type or storage class
    main.c:14: warning: type defaults to `int' in declaration of `processeur_u'
    main.c:14: warning: data definition has no type or storage class
    main.c:15: error: syntax error before '}' token
    main.c:15: warning: type defaults to `int' in declaration of `processeur'
    main.c:15: warning: data definition has no type or storage class
    main.c:20: error: syntax error before '}' token
    main.c:20: warning: type defaults to `int' in declaration of `ordinateur'
    main.c:20: warning: data definition has no type or storage class
    Process terminated with status 1 (0 minutes, 1 seconds)
    8 errors, 13 warnings

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 9
    Par défaut
    merci de vos réponses, elles m'aident beaucoup.
    Ceux sont en effet des cours théoriques alors pas toujours evident sans pratique ^^

    encore merci

Discussions similaires

  1. structures et unions ?
    Par jbarreau-mainson dans le forum Débuter
    Réponses: 13
    Dernier message: 10/01/2009, 16h02
  2. structure de donnée Union-Find
    Par contremaitre dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 22/01/2008, 09h54
  3. structure, union et énumération
    Par ngalla dans le forum C
    Réponses: 3
    Dernier message: 14/03/2007, 10h34
  4. Structure, union et pointeur
    Par kikoo.plop dans le forum C
    Réponses: 10
    Dernier message: 18/12/2006, 19h21
  5. union de structure syntaxe
    Par al974 dans le forum C
    Réponses: 6
    Dernier message: 29/07/2006, 13h56

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