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 :

Bibliothèque de musique


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Mai 2008
    Messages : 45
    Par défaut Bibliothèque de musique
    Bonjour,
    Je voudrais implémenter une bibliothèque très simple de musique en C, en utilisant les structures de données et les listes chainées, mon idée est la suivante (c'est pas vraiment une idée):
    Mes entités:
    une structure Track avec comme champs : Nom, Artiste, Album, Genre.
    Album une liste chainée de Track.

    la bibliothèque est une liste chainée de tout Tracks.

    quand j'ajoute un nouveau Track à la bibliothèque, je dois entré le nom d'album, chercher s'il existe déjà, ajouter le Track à l'album sinon créer un nouveau album à partir du nom entré, enfin l'ajouter à la bibliothèque.

    Je crois que tout ça est faisable en C, si quelqu'un a d'autres idées meilleurs, ça me fera plaisir de les voir ..
    Merci

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 474
    Par défaut
    Une liste chainée de structures Track me semble effectivement la meilleure solution. Cependant, il te faudra penser à l'enregistrer à un moment, et il faudra choisir un format de fichier.

    Bon courage.

  3. #3
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Mai 2008
    Messages : 45
    Par défaut
    voici mes entités :
    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
    #define EXP 20
     
    typedef struct track   /* Definition d'un type de structures de données Track */
    {
      char nom[EXP];       /* Nom du track */
      char artiste[EXP];   /* Nom de l'artiste */
      char album[EXP];     /* Nom de l'album */
    } Track;
     
    typedef struct track_list         /* Définition d'un type de structures de données Track_list */
    {
      Track track;                    /* Comporte des track */
      struct track_list *suivant;     /* Chaque track pointe vers le suivant */
    } Track_list;
     
    typedef Track_list* Album;        /* Album est un pointeur sur une liste de Tracks */
     
    typedef Track_list* Bibliotheque; /* La bibliothèque aussi */
    Si c'est bien je commencerai les fonctions ..

  4. #4
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 474
    Par défaut
    Ça me paraît très bien. En plus, tu évites l'erreur fréquente consistant à masquer un pointeur dans un typedef.

  5. #5
    Membre émérite
    Avatar de Pouet_forever
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    671
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 671
    Par défaut
    Au final, non. Le pointeur est bien caché.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    typedef Track_list* Album;        /* Album est un pointeur sur une liste de Tracks */
     
    typedef Track_list* Bibliotheque; /* La bibliothèque aussi */

  6. #6
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 474
    Par défaut
    Bien vu !

    Je n'ai pas pensé à scroller !

Discussions similaires

  1. Jouer de la musique en C sans bibliothèque externe
    Par AchilleFraisse dans le forum Débuter
    Réponses: 1
    Dernier message: 12/06/2014, 14h27
  2. [PHP 5.0] POO Aide pour la Modélisation d'une bibliothèque de musique
    Par tristan-f dans le forum Langage
    Réponses: 6
    Dernier message: 31/08/2013, 19h40
  3. Réponses: 15
    Dernier message: 04/09/2012, 15h49
  4. Réponses: 1
    Dernier message: 09/03/2010, 17h04
  5. Bibliothèque de musique en java, possible ?
    Par Valentin60 dans le forum Général Java
    Réponses: 5
    Dernier message: 09/10/2009, 19h19

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