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 :

Exercice sur les structures


Sujet :

C

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4
    Points : 6
    Points
    6
    Par défaut Exercice sur les structures
    Bonjour à tous j'ai un devoir d'informatique à rendre pour mardi. L'un des exercices porte sur la notion de structure.
    malheureusement, même avec ce qui a été vu en amphi, ma connaissance sur les structures restent assez limité et j'aurai besoin de votre aide pour boucler cette exercice.

    L'ennoncé :

    Nous voulons définir un type composé Joueur qui comprend 4 champs: nom qui est une chaîne de caractères, nbmj (nombre de match joués),nbmg (nombre de match gagnés), nbmrj (nombre de matchs restant à jouer) qui sont de type entier.

    1) Définir la structure Joueur.

    2) Ecrire une fonction Saisie pour saisir les champs nom, nbmj, nbmg d'un tableau de Joueurs. Cette fonction prendra comme paramètre d'entrée TabJ : un tableau de joueur et elle ne retournera pas de résultat. Nous marquerons la fin du tableau par un Joueur dont le nom est une chaîne de caractères vide

    3) Ecrire une fonction NbElements pour calculer le nombre d'éléments dans un tableau de Joueur. Cette fonction prendra comme paramètres d'entrée TabJ et retournera un entier qui sera le nombre d'éléments du tableau.

    4) Ecrire une fonction Calcul pour calculer le nombre de match restant a jouer (le champ nbmrj) à partir du champ nbmj et du paramétré d'entrée nbm (le nombre de match que chaque joueur doit jouer). Cette fonction prendra comme paramètres d'entrée TabJ, nbm, nbel (le nombre d'éléments du tableau) elle ne retournera pas de résultat.


    1) pour cette question j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #include<stdio.h>
    struct Joueur{
        char nom[20];
        int nbmj;
        int nbmg;
        int nbmrj;
    };

    2) j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void saisie(struct Joueur a){
        scanf("%s",&a.nom);
        scanf("%i",&a.nbmj);
        scanf("%i",&a.nbmg);
    je comprend pas à quoi sert TabJ

    3) pas compris

    4) pas compris la question

    En espérant sincèrement que vous pourrez m'aider.

  2. #2
    Expert éminent sénior

    Avatar de snake264
    Homme Profil pro
    Datascientist chez Leboncoin
    Inscrit en
    Novembre 2006
    Messages
    2 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Datascientist chez Leboncoin
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 914
    Points : 13 312
    Points
    13 312
    Par défaut
    D'après ton énoncé Tabj doit certainement être un tableau de type structure joueur. Ce qui te permettra de rentré plusieurs joueurs comme demander à la question 2. Donc ta réponse à cette question n'est pas tout à fait exacte
    Vous pouvez aller voir mes tutos et mes critiques: ici
    Ainsi que mon: blog

    Je ne répondrai à aucune question technique par MP les forums sont présents pour ça

    c'est très intelligent un ordinateur: "Keyboard ERROR. No keyboard Connected. Press any key to continue..."

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Robmilou Voir le message
    L'ennoncé :

    Nous voulons définir un type composé Joueur qui comprend 4 champs: nom qui est une chaîne de caractères, nbmj (nombre de match joués),nbmg (nombre de match gagnés), nbmrj (nombre de matchs restant à jouer) qui sont de type entier.

    1) Définir la structure Joueur.

    1) pour cette question j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #include<stdio.h>
    struct Joueur{
        char nom[20];
        int nbmj;
        int nbmg;
        int nbmrj;
    };
    OK. Le 20, c'est au hasard ?
    2) Ecrire une fonction Saisie pour saisir les champs nom, nbmj, nbmg d'un tableau de Joueurs. Cette fonction prendra comme paramètre d'entrée TabJ : un tableau de joueur et elle ne retournera pas de résultat. Nous marquerons la fin du tableau par un Joueur dont le nom est une chaîne de caractères vide

    2) j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void saisie(struct Joueur a){
        scanf("%s",&a.nom);
        scanf("%i",&a.nbmj);
        scanf("%i",&a.nbmg);
    je comprend pas à quoi sert TabJ
    Je vois ça...

    A quoi pourrait bien servir la fonction que tu as écrite ? Tu écris dans le paramètre, mais comme tu le sais, les passages de paramètres se font par copie en C.

    Exemple de copie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    int a = 123;
    int b = a;
    b = 3;
    Je pense que tu es d'accord que la valeur de a n'a pas changée !

    C'est exactement ce qui se passe lors d'un appel de fonction :

    La valeur du paramètre est recopiée (b = a)
    si tu modifies le paramètre dans la fonction (b = 3)
    la valeur originale (a) n'est pas affectée.
    Ce que tu as fait ne sert donc à rien.

    Un peu de lecture :

    http://emmanuel-delahaye.developpez....difie_variable

    On verra la suite quand tu auras écrit une fonction qui fait le boulot... Je te conseille de mettre tout de suite la fonction en situation (utilisation) pour bien voir si les paramètres sont cohérents et si on récupère bien ce qui a été saisi (une fonction d'affichage du contenu de la structure est toujours la bienvenue pour voir immédiatement les résultats du codage...)
    Pas de Wi-Fi à la maison : CPL

Discussions similaires

  1. Exercices sur les structures conditionnelles
    Par alibouriga dans le forum Pascal
    Réponses: 5
    Dernier message: 24/03/2013, 22h11
  2. exercice sur les structures
    Par nitch01 dans le forum Débuter
    Réponses: 6
    Dernier message: 20/01/2010, 12h22
  3. exercice/corrige sur les structure de donne
    Par mdh12 dans le forum Débuter
    Réponses: 1
    Dernier message: 01/12/2009, 22h58
  4. aide pour exercice sur les structures
    Par demetria dans le forum C
    Réponses: 10
    Dernier message: 25/09/2007, 22h11
  5. Réponses: 4
    Dernier message: 28/07/2005, 16h22

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